但我找不到答案(那满足了我).
基本上,我理解SingleOrDefault返回null或0(取决于类型).
但是我怎么能让它返回别的东西?
返回myChannels.All.Where(_Channel => _Channel.GuID == this.ParentChannelGuID).SingleOrDefault(_SPECIFICCHANNEL);
所以,我想要_SPECIFICCHANNEL被返回,以防它不是单一的..
可以做到吗
public class Person{ public string name { get; set; } public overrIDe string ToString() { return name ?? ""; }}public static class PersonExtensionMethod{ public static Person SingleOrDefault(this IEnumerable<Person> source) { var person = Enumerable.SingleOrDefault(source); if (person == null) return new Person { name = "Unnamed" }; return person; }}public static voID Main(){ var emptyCollection = new Person[0]; var nonEmptyCollection = new Person[] { new Person { name = "Jack" } }; DeBUG.Writeline("Empty collection: " + emptyCollection.SingleOrDefault()); DeBUG.Writeline("Non-empty collection: " + nonEmptyCollection.SingleOrDefault());}
在上述示例中,SingleOrDefault(IEnumerable< Person>)优先于不太具体的SingleOrDefault T(IEnumerable T).
总结以上是内存溢出为你收集整理的c# – Linq .SingleOrDefault – 如何为自定义类设置默认值?全部内容,希望文章能够帮你解决c# – Linq .SingleOrDefault – 如何为自定义类设置默认值?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)