using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LinqInAction
{
class ProcessData
{
//public int Id{get;set;}
//public string Name {get;set;}
public int Id;
public string Name;
}
public static class CommonExt
{
public static int calcTotal(this List<int> numList)
{
return numList.Sum();
}
}
class Program
{
static void Main(string[] args)
{
// 1) and 2) var syntax and object initializer
var obj = new ProcessData{Id = 1, Name="notepad.exe" };
Console.WriteLine("ProcessData");
ObjectDumper.Write(obj);
// 3) lambda
var num = new List<int> { 1, 2, 3, 4, 5, 6 };
var cnt = num.Count(x => x > 3);
Func<int, bool> CmpProc = (x => x > 3);
Console.WriteLine("Num list");
ObjectDumper.Write(num);
Console.WriteLine("Count > 3");
ObjectDumper.Write(cnt);
// 4) extension method
var ttl = num.calcTotal();
Console.WriteLine("Total");
ObjectDumper.Write(ttl);
var top2sum=num.Take(2).Sum();
Console.WriteLine("top2sum = {0}", top2sum);
// 5) anonymous type
var data = new { Id = 3, Name = "devenv.exe" };
Console.WriteLine("anonymous type");
ObjectDumper.Write(data,1);
Console.ReadLine();
}
}
}
Linq in action notes (5 lang features required for LINQ)
最新推荐文章于 2024-07-13 18:00:00 发布