.NET Framework各个版本(1.0 - 2.0)

.NET1.0与1.1新特性

公共语言运行库CLR 1.0

CLR(Common Language Runtime)公共语言运行时,是.NET运行的环境 为什么叫公共语言呢? 因为它能够运行多种语言,比如C#,VB,C++,F#等 在CLR上运行的是中间语言(MSIL),上述的语言能够被编译器编译成中间语言。

BCL类库

BCL(Base Class Library) 基础类库,为.NET开发提供了最基础的功能 它就在mscorlib.dll文件中,里面包含基础类型操作,集合,泛型,文件,网络,安全,线程等

mscorlib.dll反编译结果:

提到BCL类库就不得不提到FCL类库,FCL包含BCL中的大部分实现,另外还包含我们常见的开发框架如:ASP.NET,WinForm,WPF,WCF,Web Services,SignalR等等 ,这些框架也是在BCL的基础上做出的扩充。

ASP.NET 框架

ADO.NET

 

.NET2.0新特性

公共语言运行库CLR 2.0

支持64位平台

泛型(Generic)

泛型的作用:类型安全,提高性能,保护类型,经常用于创建集合类

            //泛型特性1:类型检查
            List<int> list = new List<int>();
            list.Add(2);    //编译器报错
            list.Add("a");

            ArrayList array = new ArrayList();
            array.Add(2);   //编译器不会报错
            array.Add("a");

            int sum = 0;
            for (int i = 0; i < array.Count; i++)
            {
                //虽然在编译阶段没有报错,可是在程序运行阶段却会抛出异常,因为字母无法转换为数字。。
                sum += Convert.ToInt32(array[i]);
            }

匿名方法(Anonymous Method)

可空类型(Nullable),在处理与数据库有关的数据类型时经常用到

        //public string? Name { get; set; } //编译器会报错,因为引用类型本身就是可以为空的。。

        public string Name { get; set; }

        public int? Age { get; set; }   //int为值类型,值类型不是可为空的类型,但Nullable将值类型拓展为可为空类型了

        //public Nullable<int> Age { get; set; }    //也可以这样声明

迭代器

部分类(Partial),通过多个部分定义类型,其后必须紧跟class, struct, interface

例如我们新建了一个Winform程序:FileSearch,它会生成如下三个文件。

我们打开 FileSearch.Designer.cs 文件,可以看到自动生成的FileSearch类

再打开 FileSearch 文件,会发现这儿也有一个FileSearch类

为了验证partial的作用,我们可以将它删除,编译器马上就会报错。。

 

参考资料:

https://blog.youkuaiyun.com/zhruifei/article/details/78499080

https://www.cnblogs.com/luointer123/archive/2011/09/17/2179671.html

https://www.cnblogs.com/cnki/p/8303444.html

https://blog.youkuaiyun.com/meplusplus/article/details/76762203

https://blog.youkuaiyun.com/yl2isoft/article/details/11701185

C#/.NET BCL:基础类库

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值