How can I create a singleton IEnumerable?

后端 未结 3 1304
天命终不由人
天命终不由人 2021-01-17 11:05

Does C# offer some nice method to cast a single entity of type T to IEnumerable?

The only way I can think of is something like:

3条回答
  •  清酒与你
    2021-01-17 11:28

    Your call to AsEnumerable() is unnecessary. AsEnumerable is usually used in cases where the target object implements IQueryable but you want to force it to use LINQ-to-Objects (when doing client-side filtering on a LINQ-compatible ORM, for example). Since List implements IEnumerable but not IQueryable, there's no need for it.

    Anyway, you could also create a single-element array with your item;

    IEnumerable enumerable = new[] { t };
    

    Or Enumerable.Repeat

    IEnumerable enumerable = Enumerable.Repeat(t, 1);
    

提交回复
热议问题