.NET理解为一个运行库环境和一个全面的基础类库。
.NET三个关键实体(构造块):CLR、 CTS、 CLS
公共语言运行库层为CLR 。功能:定位加载和管理.NET类型。也负责底层的工作如内存管理,处理线程等等。
公共类型系统:CTS 。 描述了运行库所支持所有可能的数据类型和编程结构。
公共语言规范:CLS。定义所有.NET都支持的公用类型和编程结构的子集。
Reflector查看程序集,反编译。
三层架构
三层架构分为UI(表现层),BLL(业务逻辑层) DAL(数据访问层)
使用三层架构的目的是解耦。 任何一层发生变化都不会影响到另外一层。结构清晰,可维护性高,有利于同步开发。
Ref和out有什么区别?
Out输出参数不需要初始化,Ref引用参数必须初始化。
两者主要功能是用来返回多个值
给个例子:
class test { public int getParts(double n, out double frac) { int whole; whole = (int)n; frac = n - whole; //pass fractional小数 part back through frac return whole; //return integer portion 返回整数部分 } class Program { static void Main(string[] args) { test Tout = new test(); int i; double f; i = Tout.getParts(12666.56789, out f); Console.WriteLine("整数部分:" + i); Console.WriteLine("小数部分:{0:#.###}", f); Console.WriteLine("小数部分:" + f); Console.ReadKey();//监听键盘事件,按任意键执行退出 } } }
效果如下:
成员重载:当定义一组名字相同的成员(它们的参数数量或者类型不同时),这样的成员被叫做重载。
C#的+符号被编译器处理为String.Concat()调用。