0
我有查询可能没有序列上的任何元素,我想添加一个元素序列如果是空的。如果是空的,如何添加默认元素?使用DefaultIfEmpty()
var results = _context.Documents.Select(document => document.MimeType).Distinct().ToList().DefaultIfEmpty("There is nothing to be used as MimeType");
但仍然是空的,但是使用了DefaultIfEmpty方法。
你是如何确定的顺序确实是空的?有可能是周围的代码产生了意想不到的副作用吗? – 2010-07-12 00:08:43
使用LinqPad: var l = new List>(){new KeyValuePair (“key”,“value”)}; ()();()();()() l = new List >(){}; ()();()();()() 第一个使用“键”给出一个元素序列,第二个使用“(空)”给出一个元素序列。 你没有结果变量中的元素?或者是有一个结果与空字符串? –
2010-07-12 01:10:08
@JT:结果有一个或几个元素或什么也没有。当序列没有任何元素时,我想添加一个元素(如“Nothing there”)来排序;但是我可以检查它是否序列计数== 0然后添加一个元素,但我想知道可以使用LINQ内置扩展方法(如DefaultIfEmpty或不)。 – Sadegh 2010-07-12 07:32:56