【C#】读书笔记
2015-06-03 17:26
211 查看
一,C#对象初始化语法:
声明对象嘛,应该有分号的。。。。
其实,我们在使用集合或数组的时候,早就使用过这种语法糖了,如:
二、使用拓展方法
第三方类或者是没有源代码的类,可以通过用拓展方法来获得所需的功能。
注意,拓展方法所在的类必须是静态类,拓展方法也必须是静态方法。
调用的方法,与普通的方法使用方法一致,如下:
三、使用Lambda表达式
Lambda表达式以委托的方式简写方法体。
学习Lambda之前,先引入委托Func<T,Tresult>,用来封装具有一个T类型参数,并返回一个TResult类型参数的方法,该委托可以作为其他方法的参数进行传递。这种写法实际上就是不用自己定义委托。
参考:http://www.cnblogs.com/oneword/archive/2010/08/31/1813994.html
四、临时
DataTable dt=new DataTable();
dt.AsEnumerable()返回一个IEnumrable<T>对象,其泛型参数T为DataRow,此返回对象可用在LinQ表达式中。
EnumerableRow.Select()方法转化原DataRow元素,示例代码如下:
上面代码的作用是将DataTable(即dt)中的每一行(即DataRow)转化成一个Person对象,最后生成一个Person的List。
Product p = new Product() { Name = "小黄人", Price = 34, Description = "机智", Category = "奢饰品", ProductID = 0 };
声明对象嘛,应该有分号的。。。。
其实,我们在使用集合或数组的时候,早就使用过这种语法糖了,如:
List<int> tempList = new List<int> { 1, 2, 3 };
二、使用拓展方法
第三方类或者是没有源代码的类,可以通过用拓展方法来获得所需的功能。
1 public static class ProductListExtension 2 { 3 public static decimal TotalPrice(this ProductList list) 4 { 5 decimal d = 0; 6 foreach (Product item in list.Products) 7 { 8 d += item.Price; 9 } 10 return d; 11 } 12 }
注意,拓展方法所在的类必须是静态类,拓展方法也必须是静态方法。
调用的方法,与普通的方法使用方法一致,如下:
decimal temp = p.TotalPrice();
三、使用Lambda表达式
Lambda表达式以委托的方式简写方法体。
学习Lambda之前,先引入委托Func<T,Tresult>,用来封装具有一个T类型参数,并返回一个TResult类型参数的方法,该委托可以作为其他方法的参数进行传递。这种写法实际上就是不用自己定义委托。
参考:http://www.cnblogs.com/oneword/archive/2010/08/31/1813994.html
//Func首先是定义一个委托,委托所指向方法只有一个参数Prod,有一个返回值bool Func<Product, bool> func = delegate(Product prod) { return prod.Category == "语文"; }; //用Lambda的方式来简化委托的定义 func = prod => prod.Category == "语文"; //或者是不声明Func,直接把Lambda表达式作为参数传递给指定的以Func委托为参数的方法 foreach (Product p in ProductArray.Filter(prod => prod.Category == "语文")) { dd += p.Price; }
四、临时
DataTable dt=new DataTable();
dt.AsEnumerable()返回一个IEnumrable<T>对象,其泛型参数T为DataRow,此返回对象可用在LinQ表达式中。
EnumerableRow.Select()方法转化原DataRow元素,示例代码如下:
return dt.AsEnumerable().Select(row => new Person() { Name =Convert.ToString(row["Name"]), Age = Convert.ToInt32(row["Age"]) }.ToList();
上面代码的作用是将DataTable(即dt)中的每一行(即DataRow)转化成一个Person对象,最后生成一个Person的List。
相关文章推荐
- C# Task的使用---Task的启动
- C#设计模式(1)——单例模式
- Random 类
- C#控制台输出菱形
- .net c# outlook发送邀请功
- log4net的简单应用
- C# DataSet的基本用法
- C# @符号的作用, 可定义关键字为变量名
- C#学习笔记(一)
- C#如何保存剪贴板内容,在使用后恢复。
- C#.NET 大型企业信息化系统集成快速开发平台 4.2 版本 - 几十套业务系统集中统一授权管理实现经验分享
- c# 保留2位小数
- 《C#程序设计》 第五次作业:开源项目“网页正文提取”的理解
- C# List和String互相转换
- C# 基础中有关术语理解
- C# List转DataSet
- 类与对象的创建详解(适合新人)
- C#开源大全--汇总(转)
- C#开源系统大汇总(转)
- C#命令行编译器配置方法