博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
复习扩展方法 涉及委托,这里我使用自定义委托类型 public delegate bb MyFunc<in T,out bb> (T arg)...
阅读量:6364 次
发布时间:2019-06-23

本文共 1966 字,大约阅读时间需要 6 分钟。

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();

}

}
}

转载于:https://www.cnblogs.com/kexb/p/4857963.html

你可能感兴趣的文章
SPOJ 1479 +SPOJ 666 无向树最小点覆盖 ,第二题要方案数,树形dp
查看>>
优秀网址收集(欢迎补充)
查看>>
如何利用awk计算文件某一列的平均值?
查看>>
luogu P1346电车(克鲁斯卡尔)
查看>>
绑定DataGrid Column的Visibility属性到Model中
查看>>
进程内存分配
查看>>
Bailian 2808 校门外的树(入门线段树)
查看>>
002-打开文件管理规范-20190406.bat
查看>>
IPMI总结
查看>>
Tarjan的学习笔记 求割边求割点
查看>>
基于AADL的嵌入式软件的开发方法
查看>>
hosting company 的 mail , localhost send 不到
查看>>
gulp 使用入门
查看>>
9.spring:事务管理(下):声明式事务管理
查看>>
8、设计模式-结构型模式-适配器模式
查看>>
macOS 安装 pip
查看>>
Redis的学习使用
查看>>
python3-cookbook
查看>>
IIS部署asp.net报404错误 iis与Framework安装顺序造成无法访问网站的解决办法
查看>>
ARM汇编程序闪烁灯与其反汇编代码比较
查看>>