var query = from r in list where r.Id == "" DefaultIfEmpty(String.Empty)
不起作用。
如何编写具有查询样式的linq查询并使用DefaultIfEmpty方法?
最佳答案
假设您的列表包含您想要的类型Item
:
// define your default item
var defaultItem = new Item { ... };
var query = (from r in list where r.Id == "" select r).DefaultIfEmpty(defaultItem);
或方法语法中
var query = list.Where( r => r.Id == "" ).DefaultIfEmpty(defaultItem);
但是,如果您选择
Item
的特定字符串属性,则可能需要类似var query = (from r in list where r.Id == "" select r.StringProperty)
.DefaultIfEmpty(string.Empty);