
c#变迁史
sinolover
完成项目,就要软硬兼施
展开
-
C# 基础——C#特性
.NET C# Web开发学习之路——C#特性 C#历史办版本及特性 语言版本 发布时间 .NET Framework要求 Visual版本 C# 1.0 2002.1 .NET Framework 1.0 Visual Studio .NET 2002 C# 1.1\1.2 2003.4 .NET Framework 1.1 Vi...原创 2020-03-08 07:48:00 · 446 阅读 · 0 评论 -
C#的变迁史10 - C# 5.0 之其他增强篇
1. 内置zip压缩与解压 Zip是最为常用的文件压缩格式之一,也被几乎所有操作系统支持。在之前,使用程序去进行zip压缩和解压要靠第三方组件去支持,这一点在.NET4.5中已有所改观,Zip压缩和解压功能已经内置于框架本身。这个功能使用起来很简单,三步即可: 第一步:在当前工程中添加两个Reference: System.IO.Compression.FileSystem System...原创 2020-03-06 09:52:56 · 236 阅读 · 0 评论 -
C#的变迁史09 - C# 5.0 之调用信息增强篇
Caller Information CallerInformation是一个简单的新特性,包括三个新引入的Attribute,使用它们可以用来获取方法调用者的信息, 这三个Attribute在System.Runtime.CompilerServices命名空间下,分别叫做CallerMemberNameAttribute,CallerFilePathAttribute和Caller...原创 2020-03-06 09:52:53 · 215 阅读 · 0 评论 -
C#的变迁史08 - C# 5.0 之并行编程总结篇
C# 5.0 搭载于.NET 4.5和VS2012之上。 同步操作既简单又方便,我们平时都用它。但是对于某些情况,使用同步代码会严重影响程序的可响应性,通常来说就是影响程序性能。这些情况下,我们通常是采用异步编程来完成功能,这在前面也多次提及了。异步编程的核心原理也就是使用多线程/线程池和委托来完成任务的异步执行和返回,只不过在每个新的C#版本中,微软都替我们完成了更多的事,使得程序模板越来...原创 2020-03-06 09:52:49 · 377 阅读 · 0 评论 -
C#的变迁史07 - C# 4.0 之线程安全集合篇
作为多线程和并行计算不得不考虑的问题就是临界资源的访问问题,解决临界资源的访问通常是加锁或者是使用信号量,这个大家应该很熟悉了。 而集合作为一种重要的临界资源,通用性更广,为了让大家更安全的使用它们,微软为我们带来了强大的并行集合:System.Collections.Concurrent里面的各位仁兄们。 首先,咱们从一个经典的问题谈起。 生产者消费者问题 这个问题是最为...原创 2020-03-06 09:52:45 · 203 阅读 · 0 评论 -
C#的变迁史06 - C# 4.0 之并行处理篇
前面看完了Task对象,这里再看一下另一个息息相关的对象Parallel。 Parallel对象 Parallel对象封装了能够利用多核并行执行的多线程操作,其内部使用Task来分装多线程的任务并试图将它们分配到不同的内核中并行执行。请注意“试图”这个词,Parallel对象相当具有智能性,当它判断任务集并没有从并行运行中受益,就会选择按顺序运行。这样的做法是因为并非所有的项目都适合使...原创 2020-03-06 09:52:37 · 233 阅读 · 0 评论 -
C#的变迁史05 - C# 4.0篇
C# 4.0 (.NET 4.0, VS2010) 第四代C#借鉴了动态语言的特性,搞出了动态语言运行时,真的是全面向“高大上”靠齐啊。 1. DLR动态语言运行时 C#作为静态语言,它需要编译以后运行,在编译的过程中,编译器要检查语法的正确性和类型的安全性,这是一个静态查找(编译时查找)的过程。确实,在运行之前发现问题总比在运行时发型问题要好的多,早发现早治疗嘛!但是这样做有时候会...原创 2020-03-06 09:52:33 · 416 阅读 · 0 评论 -
C#的变迁史04 - C# 4.0 之多线程篇
在.NET 4.0中,并行计算与多线程得到了一定程度的加强,这主要体现在并行对象Parallel,多线程Task,与PLinq。这里对这些相关的特性一起总结一下。 使用Thread方式的线程无疑是比较麻烦的,于是在这个版本中有了改善的版本Task。除了运行效率等方面的提升,Task还与并行计算紧紧联系在了一起,这些线程充分的利用了多核的优势,在一定的场合下,大幅的提高了程序的运行效率。屏...原创 2020-03-06 09:52:29 · 380 阅读 · 0 评论 -
C#的变迁史03 - C# 3.0篇
C# 3.0 (.NET 3.5, VS2008) 第三代C#在语法元素基本完备的基础上提供了全新的开发工具和集合数据查询方式,极大的方便了开发。 1. WPF,WCF,WF 这3个工程类型奠定了新一代.NET开发的客户端模型,通信模型,工作流模型。 WPF即将取代Winform成为新一代的桌面程序开发工具,控件与代码的超低耦合给开发带来了极大的方便,脱胎于MVC的MVVM模式...原创 2020-03-06 09:52:25 · 275 阅读 · 0 评论 -
C#的变迁史02 - C# 2.0篇
在此重申一下,本文仅代表个人观点,如有不妥之处,还请自己辨别。 第一代的值类型装箱与拆箱的效率极其低下,特别是在集合中的表现,所以第二代C#重点解决了装箱的问题,加入了泛型。1. 泛型 - 珍惜生命,远离装箱 集合作为通用的容器,为了兼容各种类型,不得已使用根类Object作为成员类型,这在C#1.0中带来了很大的装箱拆箱问题。为了C#光明的前途,这个问题必须要解决,而且要解决好。...原创 2020-03-06 09:52:21 · 257 阅读 · 0 评论 -
C#的变迁史01 - C# 1.0篇
C#与.NET平台诞生已有10数年了,在每次重大的版本升级中,微软都为这门年轻的语言添加了许多实用的特性,下面我们就来看看每个版本都有些什么。老实说,分清这些并没什么太大的实际意义,但是很多老资格的.NET程序员还是热衷在面试中咬文嚼字,所以茶余饭后了解一下也是不错的,所说的内容是对还是错,大家还是勤搜搜看,有误导的地方的还请见谅。 第一代C#只是具有了面向对象语言该有的...原创 2020-03-06 09:52:16 · 314 阅读 · 0 评论