【发布时间】:2013-05-24 13:27:33
【问题描述】:
经过长时间的搜索,我有我的第一个问题。 我有这段代码:
var strings = new MyStringList { "orange", "APPLE", "grape", "pear" };
foreach (var item in strings.Where(s => s.Length == 5))
{
txtLog.WriteLine(item);
}
还有一个公开课:
public class MyStringList : List<string>
{
public IEnumerable<string> Where(Predicate<string> filter)
{
return this.Select(s => filter(s) ? s.ToUpper() : s);
}
}
有没有办法重写 If Else 构造中的 return 语句?
我遇到了这样的事情,只有 if 给出了错误:
if (this.Select(s=> filter(s)))
{
return this.Select(s => s.ToUpper());
}
else
{
return this.Select(s => s);
}
【问题讨论】:
标签: c# lambda ternary-operator