我有List
List<Myclass> li = new List<Myclass> ();
其中Myclass
是
public class Myclass
{
public string ExamName { get; set; }
public Nullable<decimal> Marks { get; set; }
public Nullable<decimal> OutOfMarks { get; set; }
public string GradeMarks { get; set; }
public Nullable<decimal> markEaxmTotalOverAll { get; set; }
public Nullable<decimal> MarksExamTotalMarksTypeWise { get; set; }
public Nullable<decimal> MarksExamOutOfMarksTotalOverAll { get; set; }
public Nullable<decimal> MarksExamOutOfMarksTotalMarksTypeWise { get; set; }
}
li包含近10000件商品
我想在所有10000个项目中将markEaxmTotalOverAll
值设置为50
但是不想用循环来做,有没有办法更新它,我试过这个代码
li.Select(s => { s.MarksExamTotalOverAll = 50; return s; });
但它不起作用
答案 0 :(得分:10)
正如LINQ的Q所说,LINQ的基本用法是查询,而不是更新。
较简洁的foreach形式是ForEach
的{{1}}方法:
List<T>
答案 1 :(得分:2)
尝试以并行方式运行指定任务的代码
List<Myclass> li = new List<Myclass>();
Parallel.ForEach(li, l => l.MarksExamOutOfMarksTotalOverAll = 50);
答案 2 :(得分:1)
li.ForEach(x=>x.MarksExamTotalOverAll = 50);