C#中如何更改返回的默认值(T)?我想更改某些类的默认(T)行为。因此,我不想为我的引用类型返回null,而是想返回一个null对象。有像kids.Clear();这样的东西varkid=kids.Where(k=>k.Age<10).SingleOrDefault();如果(孩子是NullKid){Console.Out.WriteLine("Jippeie");任何人都知道这是否可能?有人知道这是否可能吗?完全不可能。但也许您想使用DefaultIfEmpty:kids.Clear();varkid=kids.Where(k=>k.Age您不能更改默认值(T)-引用类型始终为空,值类型始终为零。我不认为,这是可能的。但是,您可以做的是创建你自己的扩展方法SingleOrCustomDefault或类似的东西。这个怎么样:varkid=kids.Where(k=>k.Age我想你已经在你的问题中找到了答案:if/switchstatement.像这样:if(TisDog)returnnewDog();//而不是returndefault(T)当Dog是一个类时它是null你可以像这样创建你自己的扩展方法:publicstaticTSingleOrSpecified(thisIEnumerablesource,Funcpredicate,Tspecified){//checkparametersvarresult=source.Where(谓词);if(result.Count()==0)返回指定;返回结果.Single();//超过1项会抛出异常}用法:以上是C#学习教程:C#中返回的默认值(T)如何改变?分享的所有内容,如果对你有用,需要了解更多C#学习教程,希望大家多多关注---varp=allProducts.SingleOrSpecified(p=>p.Name="foo",新产品());本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处:
