using System;
using System.Collections.Generic;using System.Data;using System.Linq;using System.Text;using System.Threading.Tasks;namespace ConsoleApplication8
{ public static class ListExt { public delegate bb MyFunc<in T, out bb>(T arg); public static List<T> MyWhere<T>(this List<T> list, MyFunc<T,bool> whereLambada ) { List<T> myList=new List<T>(); foreach (T obj in list) { if (whereLambada(obj)) { myList.Add(obj); }}
return myList; } }public class Student
{public int No { get; set; }
public string Name { get; set; } public int Age { get; set; } }class Program
{ static void Main(string[] args) { //TestDb2Entities1 DbContext = new TestDb2Entities1();//var stu = (from s in DbContext.UserInfoSets where s.Id == 1 select s).First();
//RoleInfoSet r = stu.RoleInfoSets.ToList()[0]; //DataTable table=new DataTable(); //var t = from s in table.AsEnumerable() group s by s.Field<Int32>("") into g select g;DataTable table = new DataTable();
table.Columns.Add("Id", typeof(Int32)); table.Columns.Add("Name", typeof(String)); table.Columns.Add("Age", typeof(Int32));DataRow row = table.NewRow();
row["Id"] = 1; row["Name"] = "1"; row["Age"] = 10; table.Rows.Add(row);row = table.NewRow();
row["Id"] = 2; row["Name"] = "2"; row["Age"] = 2; table.Rows.Add(row); row = table.NewRow(); row["Id"] = 1; row["Name"] = "3"; row["Age"] = 3; table.Rows.Add(row);//var stus = from s in table.AsEnumerable() group s by s.Field<Int32>("Id") into g select
//new { // key=g.Key,value=g //} //;var stus = from s in table.AsEnumerable()
where s.Field<Int32>("Id") == 1 group s by s.Field<Int32>("Id") into g select g;var list = stus.ToList();
var c = list[0].ToList()[1].Field<Int32>("Age"); List<Student> stuList=new List<Student>(); stuList.Add(new Student() { No = 1,Name = "2",Age = 1}); stuList.Add(new Student() {No = 2,Name = "2",Age = 3});var data = stuList.MyWhere(x => x.No == 1);
Console.ReadKey();
}
}}