假设我在c#中有以下内容:
List<Foo> fooList = new();
Foo fooObject;
以下内容有简写吗?
if(fooObject != null)
{
fooList.Add(fooObject);
}
根据我的代码中的情况,fooObject
可能为null或否,但如果不是null,我希望将其添加到fooList
中。
就我的研究而言,没有一个零联合或三元算子的可能性涵盖上述可能性。
我能想到的唯一解决方案是使用扩展方法
public class Foo
{
}
static class Program
{
static void Main(string[] args)
{
List<Foo> list = new List<Foo>();
Foo item = null;
list.AddNotNull(item);
item = new Foo();
list.AddNotNull(item);
}
public static void AddNotNull<T>(this IList<T> list, T item) where T : class
{
if (item != null)
{
list.Add(item);
}
}
}