我在MSDN上看到一个例子,如果没有返回任何东西,它会让你指定默认值。见下:在对象中使用DefaultIfEmpty?
List<int> months = new List<int> { };
int firstMonth2 = months.DefaultIfEmpty(1).First();
是否有可能与一个对象使用此功能?例如:
class object
{
int id;
string name;
}
代码:
List<myObjec> objs = new List<myObjec> {};
string defaultName = objs.DefaultIfEmpty(/*something to define object in here*/).name;
UPDATE:
我想我可以做这样的事情:
List<myObjec> objs = new List<myObjec> {};
string defaultName = objs.DefaultIfEmpty(new myObjec(-1,"test")).name;
但一直没能。应该注意的是,我实际上正在尝试在我的DBML中使用LINQ-To-SQL定义的对象上使用此方法。不知道这种情况在这种情况下是否有所作为。
是的,当然。你试过了吗?问题在哪里? – 2010-11-01 20:08:39
也许'new myObjec()'是你在找什么? – zneak 2010-11-01 20:13:02
我不确定它是否有所作为,但是这是我在LinqToSQL中做的简化版本。我尝试了相当于'new myObjec(-1,“test”)',但它不起作用。 – 2010-11-01 20:19:17