C# 基础2
1,
5, Linq的一个例子
6,对于linq查询的延迟和不延迟
public class User
{
public int Id { get; set; }
public string Name { get; set; }
public int Age { get; set; }
}
像上面这样的空的get/set属性的话,它会自动为你在类中生成一个私有成员变量,对这个变量实现一个公开的getter和setter。
2, Foo foo3 = new Foo{Age=18,Name="alivin"}; 这种初始化对象,首先你得有一个无参构造函数
3,
C#的Lambda 表达式都使用 Lambda
运算符 =>,该运算符读为“goes to”。语法如下:
形参列表=>函数体
函数体多于一条语句的可用大括号括起。
4,Linq中的连接,join 和 groupjoin的语法
官网的第一个例子
DataSet ds = new DataSet();
ds.Locale = CultureInfo.InvariantCulture;
FillDataSet(ds);
DataTable orders = ds.Tables["SalesOrderHeader"];
DataTable details = ds.Tables["SalesOrderDetail"];
var query =
from order in orders.AsEnumerable()
join detail in details.AsEnumerable()
on order.Field<int>("SalesOrderID") equals
detail.Field<int>("SalesOrderID")
where order.Field<bool>("OnlineOrderFlag") == true
&& order.Field<DateTime>("OrderDate").Month == 8
select new
{
SalesOrderID =
order.Field<int>("SalesOrderID"),
SalesOrderDetailID =
detail.Field<int>("SalesOrderDetailID"),
OrderDate =
order.Field<DateTime>("OrderDate"),
ProductID =
detail.Field<int>("ProductID")
};
foreach (var order in query)
{
Console.WriteLine("{0}\t{1}\t{2:d}\t{3}",
order.SalesOrderID,
order.SalesOrderDetailID,
order.OrderDate,
order.ProductID);
}
5, Linq的一个例子
var categories =
from p in db.Products
group p by p.CategoryID into g
select new {
g.Key,
MostExpensiveProducts =
from p2 in g
where p2.UnitPrice == g.Max(p3 => p3.UnitPrice)
select p2
};
6,对于linq查询的延迟和不延迟
Where |
过滤;延迟 |
Select |
选择;延迟 |
Distinct |
查询不重复的结果集;延迟 |
Count |
返回集合中的元素个数,返回INT类型;不延迟 |
LongCount |
返回集合中的元素个数,返回LONG类型;不延迟 |
Sum |
返回集合中数值类型元素之和,集合应为INT类型集合;不延迟 |
Min |
返回集合中元素的最小值;不延迟 |
Max |
返回集合中元素的最大值;不延迟 |
Average |
返回集合中的数值类型元素的平均值。集合应为数字类型集合,其返回值类型为double;不延迟 |
Aggregate |
根据输入的表达式获取聚合值;不延迟 |
linq 延迟请移步资料:http://www.cnblogs.com/happygx/archive/2012/04/16/2451668.html
可选的。。{} ,大括号表示 可选的。。。
http://www.asp.net/web-api/overview/extensibility/using-the-web-api-dependency-resolver 这篇文章有点没有看懂,好好研究一下