随笔分类 -  List用法

用select提取List元素自身序号
摘要:var cs = currentCitys.Select((c, i) => new { id = c.CITY_ID, 序号 = (i + 1).ToString(), 城市类型 = c.IS_FOREIGN == "Y" ? "国际城市" : "国内城市", 名称 = c.NAME }).ToL 阅读全文

posted @ 2019-11-28 20:00 mol1995 阅读(961) 评论(0) 推荐(0)

List<object> 转 List<T>
摘要:List<TAXIWAY_CENTER_LINE> kk = allObjs.Where(c => c.ToString() == "AMXM.TAXIWAY_CENTER_LINE").Select(c=>(TAXIWAY_CENTER_LINE)c).ToList(); 关键就在List<obj 阅读全文

posted @ 2019-10-17 08:29 mol1995 阅读(5947) 评论(0) 推荐(0)

Where是浅复制,但对象整体赋值对原对象无影响
摘要:Where、First、FirstOrDefault等都是浅复制。 如:Geom g = Geoms.Where(c => c.id == dt.Rows[i]["IDNUMBER"].ToString()).First(); 后续对g的任何修改,都会影响Geoms中的对应元素。 但是,如果直接对g 阅读全文

posted @ 2019-06-19 10:21 mol1995 阅读(176) 评论(0) 推荐(0)

Aggregate可以做字符串累加、数值累加、最大最小值
摘要:Aggregate("", (m, n) => m + n + "、").TrimEnd('、'); .Aggregate(0, (m, n) => m + (n.IsNotNull()? (int)n :0)); Aggregate(0, (m, n) => Math.Max(m ,(n.IsNo 阅读全文

posted @ 2018-02-04 08:47 mol1995 阅读(207) 评论(0) 推荐(0)

List去重与排序
摘要:最简单的方法:利用Where一句话去重 pointLst = pointLst.Where((x, i) => pointLst.FindIndex(z => z.POINT_ID == x.POINT_ID) == i).ToList(); //原理是只保留位置 i 相同的相同元素 或者判断有无重 阅读全文

posted @ 2018-01-14 13:51 mol1995 阅读(282) 评论(0) 推荐(0)

List对象中的组合、查询、扩展
摘要:var Pnts = segs.Select( c => pntTsLst.Where //根据条件组合另一个List, pntTsLst是一个List<KEYPOINT> (d => d.KEYPOINT_UUID == c.END_POINT_ID) .Select( k =>new { id= 阅读全文

posted @ 2018-01-12 14:15 mol1995 阅读(222) 评论(0) 推荐(0)

Lambda语句中创建自定义类型时,也可指定某种特定类型,方法是在new与{}之间写上类型名称
摘要:如: var fc =...ChildFath = fc.Select(c => new Child_Father { child = c.child, father = c.father }).Distinct().Where(c => c.father != c.child).ToList(); 阅读全文

posted @ 2017-09-28 12:18 mol1995 阅读(163) 评论(0) 推荐(0)

Linq语句:三表联查
摘要:var db = new DataEntities2(); var sss = ( from c in db.AIRPORT_HELIPORT from t in db.AIRPORT_HELIPORT_TS from v in db.EX_VERSION where c.AIRPORT_HELIP 阅读全文

posted @ 2017-09-23 10:29 mol1995 阅读(1056) 评论(0) 推荐(0)

GroupBy
摘要:Groupby 2024.9.13又在GPT的帮助下实现另一种去重方法: prs = prs.GroupBy(p => p.name).Select(g => g.First()).ToList(); 实现了对prs中的对象按name去重。 原理:GroupBy后形成了一个两重List,最里层是每个 阅读全文

posted @ 2017-09-10 21:31 mol1995 阅读(600) 评论(0) 推荐(0)

List批量赋值的几种方法
摘要:List<int> list = new List<int>();list.AddRange(new int[] { 1, 5, 10, 20 ,33 }); //也可直接赋值 List<int> list2 = new List<int> { 0, 1, 2, 3, 4, 5, 6, 7, 8, 阅读全文

posted @ 2017-09-10 08:59 mol1995 阅读(15694) 评论(0) 推荐(0)

List<T>直接充当Combox控件DataSource并扩展自定义记录的方法
摘要:一般认为List只有转换为DataTable后才能充当CombBox的数据源,其实不然: List<SYS_COMMANDS> comdList = _menuMan.Load(c => c.FATHER_ID == null).OrderBy(c=>c.VAL_DISPLAYORDERID).To 阅读全文

posted @ 2017-09-07 11:05 mol1995 阅读(220) 评论(0) 推荐(0)

List转Datatable 新方法
摘要:方法1,最简单的转换 DataTable dt = new DataTable(); dt.Columns.Add("id"); dt.Columns.Add("name"); dt.Rows.Add(new object[]{ 0,"顶层菜单"}); foreach (var cm in comd 阅读全文

posted @ 2017-09-03 22:00 mol1995 阅读(523) 评论(0) 推荐(0)

List转Datable(需区分对象充当List成员和数组充当List成员两种情况)
摘要:对象充当List成员时: /// <summary> /// 将泛类型集合List类转换成DataTable /// </summary> /// <param name="list">泛类型集合</param> /// <returns></returns> public static DataT 阅读全文

posted @ 2017-03-18 08:33 mol1995 阅读(231) 评论(0) 推荐(0)

List的并集、交集、差集
摘要:并集:List<xx> union =arps.Union(flts).ToList();交集:List<xx> inters = arps.Intersect(flts)ToList();差集:List<xx> except= arps.Except(flts)ToList(); 补充: 如果要自 阅读全文

posted @ 2016-11-08 11:19 mol1995 阅读(3720) 评论(0) 推荐(0)

利用谓词实现List<>的Find等高级操作
摘要:public class Person { public int Id { get; set; } public string Name { get; set; } public int Age { get; set; } } private void button1_Click(object se 阅读全文

posted @ 2016-10-18 12:48 mol1995 阅读(329) 评论(0) 推荐(0)

导航