2012-11-28 66 views
0

我有List List courseTakenList.i想要過濾出的狀態在Completed,Dropped,Current,Schudeled。這是代碼示例。引用Linq查詢

courseTakenList = (from courseTaken in courseTakenList 
         select new Course 
         { 
          Status = "Scheduled"?"COMPLETE"?"Dropped"? "Current" 
         }).ToList(); 
+0

它不清楚,您希望如何選擇狀態 – horgh

+0

狀態應該是這些值之間的chossen。satatus有這麼多。但是我想要linq查詢,它將返回列表中的這些狀態。 – KCS

+0

如果'courseTakenList'包含具有不同狀態的課程,並且您只需要選擇具有**這些**狀態的課程,則Pranay Rana已經回答了此問題。如果這是錯誤的,我仍然不明白,你需要什麼... – horgh

回答

4

你可以做到這一點更簡潔

var statuslist= {"Completed","Dropped","Current","Schudeled"}; 

var courses = courseTakenList.Where(courseTaken => 
         statuslist.Contains(courseTaken.Status); 
2

Linq In這樣的查詢能夠解決您的問題

var statuslist= {"Completed","Dropped","Current","Schudeled"}; 

var query = from courseTaken in courseTakenList 
      where statuslist.Contains(courseTaken .Status) 
      select courseTaken ; 

注意:更改SELECT子句,只要你想

+0

謝謝,但我想把過濾器,而選擇像courseTakenList = (從courseTaken在courseTakenList 選擇新課程 { DegreeAudit = degreeAudit, 編號= courseTaken.CourseId,狀態= 「預定」? 「COMPLETE」? 「丟棄」? 「電流」 – KCS

+2

@KCS爲什麼你需要創建'Course'的新實例,儘管從原始'courseTakenList'中選擇它們就足夠了? – horgh

+0

@KCS - 過濾器可以在where子句中應用,並且您的狀態字段將變爲conation其中一個值..... try出答案的查詢可能適用於你..因爲不清楚你你想要做 –