Initializing IEnumerable<string> In C#

Viewed 264145

I have this object :

IEnumerable<string> m_oEnum = null;

and I'd like to initialize it. Tried with

IEnumerable<string> m_oEnum = new IEnumerable<string>() { "1", "2", "3"};

but it say "IEnumerable doesnt contain a method for add string. Any idea? Thanks

8 Answers

IEnumerable is an interface, instead of looking for how to create an interface instance, create an implementation that matches the interface: create a list or an array.

IEnumerable<string> myStrings = new [] { "first item", "second item" };
IEnumerable<string> myStrings = new List<string> { "first item", "second item" };

You can create a static method that will return desired IEnumerable like this :

public static IEnumerable<T> CreateEnumerable<T>(params T[] values) =>
    values;
//And then use it
IEnumerable<string> myStrings = CreateEnumerable("first item", "second item");//etc..

Alternatively just do :

IEnumerable<string> myStrings = new []{ "first item", "second item"};
Related