当方法属于所讨论的对象时,空条件运算符非常有用,但如果所讨论的对象是参数怎么办?例如,这可以缩短吗?
var someList = new List<SomeType>();
if (anotherList.Find(somePredicate) != null)
{
someList.Add(anotherList.Find(somePredicate))
}
我想到的一种解决方案是使用如下扩展方法:
public static void AddTo<T>(this T item, List<T> list)
{
list.Add(item);
}
这样,第一个代码块可以简化为:
var someList = new List<SomeType>();
anotherList.Find(somePredicate)?.AddTo(someList);
但是此解决方案特定于此示例(即,如果对象不为空,则将对象添加到列表中)。有没有一种通用的方法来指示如果参数为空,则不应该运行该方法?