The changing face of C# development
最近在读C# IN DEPT这本书,简单记录一下知识
mobile: http://www.manning.com/catalog/mobile/
C# IN DEPT:http://www.manning.com/skeet3/
数据类型
c# 1.1 ArrayList 没有提供编译时的信息,创建属性及便利会变得复杂。
c#2.0 提供了泛型
c#3.0 自动实现属性
c#4.0 readonly关键字
排序过滤
c# 1 实现IComparable接口 Object数据类型
c#2.0 1.1:实现Icomparable接口 支持泛型
1.2:匿名方法(委托)
c#3.0 1.1 Lambda表达式
1.2 扩展方法
集合查询
.NET自带的几个委托与扩展方法(下列指示委托的形式之一):
public delegate void Action<in T>(T obj);
public delegate TResult Func<out TResult>();
public delegate bool Predicate<in T>(T obj);
public static IEnumerable<TSource> Where<TSource>(this IEnumerable<TSource> source, Func<TSource, bool> predicate);
c# 1.1 for或foreach
c#2.0 Predicate委托与ForEach或者方法
products.FindAll(delegate(Product p) { return p.price > 10; }).ForEach(Console.WriteLine);
c#3.0 Lambda表达式或扩展方法
products.FindAll(p => p.price > 10).ForEach(Console.WriteLine);
c#4.0 Parallel
products.FindAll(p => p.price > 10).AsParallel().ForAll(Console.WriteLine);
未知数据
public string? price { get; set; }
LINQ
LINQ TO XML
LINQ TO SQL