2

看来我偶然发现了 LINQ 并且只是设法看到了它的用处。我不确定我是否要求太多,或者我做事是否正确。我有以下笨拙的代码,

class CStation{
    public String Make;
    public List<ulong> TunedStations;
}

List<List<ulong>> mStations=(from t in Radios where t.Make==aMake select t.TunedStations).ToList();
if(mStations.Count!=0)
    return mStations[0];
return null;

功能是的,但我可以用 LINQ 来做些什么吗?

4

2 回答 2

6

只需使用

return (from t in Radios where t.Make==aMake select t.TunedStations).FirstOrDefault(); 
于 2012-06-13T01:58:40.060 回答
2

你可以使用这个:

var myDefault = ......;

return (from t in Radios 
        where t.Make==aMake 
        select t.TunedStations)
       .FirstOrDefault() ?? myDefault ; 

或作为 lambda

    var myDefault = ......;
    
    return Radios.Where(t => t.Make == aMake)
           .FirstOrDefault() ?? myDefault ; 

这些将返回集合中的第一项或您的默认值(或者?? myDefault如果您想返回 null,则省略)

于 2012-06-13T02:03:22.387 回答