【C#】List使用汇总

(1)将List复制到另一个List

List<T>newList = oldList.GetRange(index, count);


(2)批量对List的某个字段赋值

listName.ForEach(a => a.b = false);

 

(3)截取List

dataList = dataList.GetRange(firstIndex, 10);  //截取firstIndex开始往后十个元素

 

(4)List转换为数组

String[] str=list.ToArray();

(5)排序

NumList.Sort((x, y) => x.CompareTo(y));  //升序
NumList.Sort((x, y) => -x.CompareTo(y)); //降序

(6)字符串List去重

NumList = NumList.Distinct().ToList();

(6)List使用foreach循环操作出现“集合已修改;可能无法执行枚举操作”错误

解决方法:

不要在枚举集合的操作(例如foreach)中去执行修改集合的操作。如果需要修改集合,那么应该先使用 ToArray() 方法。

foreach(var row in list.ToArray())
{
   执行修改list的操作。
}

(7)在List里查找近似值

int firstIndex = dataList.Select((d, i) =>
                {
                    return new
                    {
                        Value = d,
                        Index = i
                    };
                }).OrderBy(x => Math.Abs(x.Value - tempdata)).First().Index; 
               //获取与tempdata最相近相近的第一个索引
/*******相与枕藉乎舟中,不知东方之既白*******/
原文地址:https://www.cnblogs.com/Mars-0603/p/15343533.html