更新列表的单列而不使用Foreach循环

Co.*_*den 3 c# linq select list

我有一个 List

List<Myclass> li = new List<Myclass> ();
Run Code Online (Sandbox Code Playgroud)

这里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; }
}
Run Code Online (Sandbox Code Playgroud)

li包含近10000个项目
我想markEaxmTotalOverAll在所有10000个项目中将值设置为50
但不想用循环来做,有没有办法更新它,我试过这个代码

li.Select(s => { s.MarksExamTotalOverAll = 50; return s; }); 
Run Code Online (Sandbox Code Playgroud)

但它不起作用

ken*_*n2k 12

正如LINQ的Q所说,LINQ的基本用法是查询,而不是更新.

的foreach的更简洁形式是ForEach的方法List<T>:

li.ForEach(z => z.MarksExamTotalOverAll = 50);
Run Code Online (Sandbox Code Playgroud)

  • 可以添加where子句吗?我的意思是,仅更新特定对象?有谁可以帮助我吗?!Tks! (2认同)