2011-09-07 112 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