Enumerable.Unit()函数

Ben*_*jol 1 c# ienumerable

在我有一个带有此签名的方法的情况下找到自己

void DoSomething(IEnumerable<T> before, IEnumerable<T> after)
Run Code Online (Sandbox Code Playgroud)

当我只有一个元素而不是IEnumerable时,我发现自己经常不得不调用它.

我想添加三个重载,但是当其中一个参数为null时,这没有用.

所以我想我可以把我的单个元素'封装'在IEnumerable中并发送它,但是我在Enumerable上找不到任何看起来像我想要的东西(也许我看起来不够努力).

所以我正在看这样的事情

    public static IEnumerable<T> EnumerableUnit<T>(T item)
    {
        if(item != null) yield return item;
    }
Run Code Online (Sandbox Code Playgroud)

这是一个好主意吗?或者我应该做些什么?

Meh*_*ari 5

这可能有所帮助:

new[]{obj}
Run Code Online (Sandbox Code Playgroud)