C#1.0:OOP和CTS(delegate)C#2.0:泛型、分部类、静态类、迭代器、匿名方法、委托的协变和逆变、属性访问器可以被单独设置访问级别、可空类型、??操作符C# 3.0:Linq、lambda表达式、类初始化器、匿名类型、局部变量类型推断、自动属性、扩展方法、分部方法C# 4.0:dy ...
一:值类型/引用类型的区别 值类型主要包括简单类型,枚举类型,和结构体类型等,值类型的实例通常被分配在线程堆栈上面变量保存的内容是实例数据本身。引用类型被分配在托管堆上,变量保存的是地址。引用类型主要包括类类型,接口类型,委托类型和字符串类型等。 关于参数传递,这里有四种: 值类型参数的按值传递; ... ...
在C#3.0中引用了Limbda表达式,Limbda表达式实际上就是一个方法,只不过该方法是匿名方法(即没有名称的方法)代码片段: Func<int,string,string> t=(int x, string b) => (x.ToString() + b);就等于如下: Func<int,st ...
简介 在.NET中,委托,匿名方法和Lambda表达式很容易发生混淆。我想下面的代码能证实这点。下面哪一个First会被编译?哪一个会返回我们需要的结果?即Customer.ID=5.答案是6个First不仅被编译,并都获得正确答案,且他们的结果一样。如果你对此感到困惑,那么请继续看这篇文章。 什么 ...
工作中经常用到Lambda表达式,简单好用代码清晰,虽然用的也算上手,但忘记了当年大学课堂上学它的时候老师讲的它跟委托和匿名方法的关系,今天抽了时间简单的了解了一下,在这里做个总结。 1 什么是委托 public delegate string DelegateTest(string a); pub ...
前言 泛型并不是C#语言一开始就带有的特性,而是在FCL2.0之后实现的新功能。基于泛型,我们得以将类型参数化,以便更大范围地进行代码复用。同时,它减少了泛型类及泛型方法中的转型,确保了类型安全。委托本身是一种引用类型,它保存的也是托管堆中对象的引用,只不过这个引用比较特殊,它是对方法的引用。事件本 ...
前言 C#1.0的委托特性使方法作为其他方法的参数来传递,而C#2.0 中提出的泛型特性则使类型可以被参数化,从而不必再为不同的类型提供特殊版本的实现方法。另外C#2.0还提出了可空类型,匿名方法和迭代器3个优美的特性。 1,泛型1.1 泛型是什么泛型的英文表述是"generic", 这个单词意为通 ...
一、匿名类型可通过使用 new 运算符和对象初始值创建匿名类型。示例:var v = new { Name = "Micro", Message = "Hello" };var v = new[] { new { Name = "Micro", Message = "Hello" }, new { ...
详细参考:http://www.cnblogs.com/daxnet/archive/2008/11/12/1687011.html ...
分类:
其他好文 时间:
2016-04-16 21:30:45
阅读次数:
133