我是linq
查詢的新手。有沒有辦法將這些嵌套的foreach
組合成一個linq
查詢。如何將許多嵌套的foreachs合併成Linq查詢
如果沒有,在這種情況下是否有更好的方法來更新?
謝謝
List<Student> StudentList = new List<Student>();
List<int> IDsList = new List<int>();
foreach (var id in IDsList)
{
foreach (var st in StudentList.Where(a => a.StudentID == id))
{
foreach (var cr in st.Courses)
{
cr.Projects.Where(b => string.IsNullOrEmpty(b.ProjectName) == true).ToList().ForEach(c => c.ProjectName = "Dummy");
}
}
}
public class Student
{
public string FirstName { get; set; }
public int StudentID { get; set; }
public List<course> Courses { get; set; }
}
public class course
{
public int CourseID { get; set; }
public string Description { get; set; }
public List<CourseProjects> Projects { get; set; }
}
public class CourseProjects
{
public string ProjectName { get; set; }
public int ProjectID { get; set; }
}
你對Linq'ForEach'的使用表明你知道如何做到這一點的基礎知識,但是很難應用它,而不會無法閱讀你寫的和理解的東西/確信它的邏輯就是你的「試圖達到。這表明你不應該使用一系列ForEach lambda,因爲人的易讀性在編程和執行中同樣重要。如果你看不懂你寫的內容,你應該假設下一個人看到你的代碼不會。 – CDove