2011-09-07 104 views
0

我有一個linq查詢。使用LINQ查詢

var query = (from s in dc.ClassInfos 
       where s.ClassName == tbSubject.Text 
       select new{ 
        location = s.ClassLocation, 
        Date = s.ClassDate 
       }); 

現在我喜歡將位置值分配給局部變量。你能幫我怎麼做?

+0

哪個位置?你可以有多個結果。 – Joe

回答

2

您查詢返回匿名類的IEnumerable - 不只是一個單一的值。如果你想分配第一位置值(前提是有一個),你可以這樣做:

var location = query.First().location; 

如果你想在另一方面列表中的所有位置這應該工作:

var locations = query.Select(x=> x.location).ToList(); 
0
var localVar = new List<string>(); 

foreach (var item in query) 
{ 
    localvars.add(item.location); 
} 
+0

有很多更好的方法來做到這一點。另外,我不認爲這回答OP的問題。 –

2
var location = query.First().location; 

但我會寫

var location = (from s in dc.ClassInfos 
       where s.ClassName == tbSubject.Text 
       select s.ClassLocation).FirstOrDefault(); 

因爲你並不需要選擇Date如果你只使用location