赞
踩
这是学习C#第五天了,感觉在网上找资料看始终是没有那种全面的感觉,于是买一本C#图解教程,来进行查漏补缺…
如图所示,这里面出现了几个概念
首先程序集是由.NET
语言的编译器接受源代码文件,生成名为程序集的输出文件
DLL
:动态链接库,是许多函数的集合)就是可以直接被计算机识别的代码
, 而是一种名称为CIL的中间语言Common Intermediate Language
公共中间语言程序集包含的信息中,包括下列项目
这里注意:程序的CIL直到被调用运行时才会被编译成本机代码
JIT是在CLR公共语言运行库中的,JIT在编译之前,CLR会有以下步骤
.NET
框架的核心组件是CLR
,它在操作系统的顶层,负责管理程序的执行,除此之外还提供一些其他的功能
BCL
基础类库在C#,可以使用任意数量的替代标记和任意数量的的值
Console.WriteLine("Three integers are {1}, {0} and {1}", 4 ,5 );
对齐说明符表示字段中字符的最小宽度,对齐说明符有以下特性
Console.WriteLine("{0,10}",200);
注意:值的实际表示可能会比对齐说明符指定的字符数多一些或少一些
这两种类型的对象在内存中的存储方式不同:
第一段存储实际的数据,总是位于堆中
第二段是一个引用,指向数据在堆中的存放位置
对于一个引用类型对象,不管是将其作为值参数传递,还是引用参数传递都可以在方法成员内部修改它的成员。
不过我们并没有在方法内部设置形参本身,我们来在方法内设置引用类型形参时会发生什么
class MyClass { public int Val = 20; } class Program { static void RefAsParameter(MyClass f1) { f1.Val = 50; Console.WriteLine($"After member assignment:{f1.Val}"); f1 = new MyClass(); Console.WriteLine($"After new Object creation:{f1.Val}"); } static void Main(string[] args) { MyClass a1 = new MyClass(); Console.WriteLine($"Before method call:{a1.Val}"); RefAsParameter(a1); Console.WriteLine($"After method call: { a1.Val}"); } }
未完待续…
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。