c# List<T>集合的用法

  1. list 去重

    //去重后的数据放到另一个list中
    List<string> name = list.Select(t => t.name).Distinct().ToList();
    
  2. 函数计算 count()

    int FCount = list.Count(t => t.sex == "女");
    
  3. 添加元素 Add()

    list.Add("张三");
    
  4. 删除元素

    list.Remove("张三");
    
    //删掉index下标为0的元素
    list.RemoveAt(0);
    
  5. 清空 Clear()

    list.Clear();
    
  6. 判断某元素是否在list中 Contains()

    //返回true/false
    list.Contains("张三");
    
  7. 排序[两种] Sort() 、OrderBy

    //按元素第一个字母升序
    list.Sort();
    
    //
    list = list.OrderBy(o => o.Id).ToList();//升序
    listTmp = list.OrderByDescending(o => o.Id).ToList();//降序
    
    
  8. 字典List List>

    List<Dictionary<string, decimal>> list = new List<Dictionary<string, decimal>>();
    //Dictionary相当于键值对形式,这里add三个进dict。也就是list的一行就有三个键值对
    Dictionary<string, decimal> dict = new Dictionary<string, decimal>();
    dict.Add("a", _list[k]);
    dict.Add("b", _value[k]);
    dict.Add("c", result);
    list.Add(dict);
    
  9. 搜索某元素在list中的位置 findIndex()

    var index = list.FindIndex(x => x.name == "lili");//返回此元素的位置
    if (index > 0)
    {
        //list的name字段中有“lili”;并且index就是它的位置
        list[index].sex = "m";
    }
    else
    {
        //否则没有
    }
    
  10. 分组 GroupBy()

     //按日期汇总.GroupBy(x => new { Convert.ToDateTime(x.ASM_DATE).Month })
     //格式为yyyy-MM-dd
        var sum1 = mylist1.GroupBy(g => new
                        {
                            FDate = Convert.ToDateTime(g.CREATE_DATE).ToString("yyyy-MM-dd")
                        })
                        .Select(t => new
                        {
                            KEYS = t.Key,
                            QTY = t.Count(),
                        }).ToList();
         foreach (var item in sum1)
        {
            FDate = item.KEYS.FDate;
            FQTY += item.QTY;
            //list.Add(line);
        }
    
  11. 当name=“张三”的所有列信息 list.where()

    List<tabUser> _list = list.Where(p => p.name == "张三").ToList();
    

你可能感兴趣的:(c# List<T>集合的用法)