看来我迷失了对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怎么做吗?

最佳答案

您可以使用:

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 ; 


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

关于c# - 如果什么也没找到,如何为LINQ返回特定值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11007234/

10-13 00:52