初始化IEnumerable <string>在C#

我有这个对象:

IEnumerable<string> m_oEnum = null; 

我想初始化它。 试过

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

但它说:“IEnumerable不包含添加string的方法任何想法?谢谢

好的,添加到答案说,你可能也在寻找

 IEnumerable<string> m_oEnum = Enumerable.Empty<string>(); 

要么

 IEnumerable<string> m_oEnum = new string[]{}; 

IEnumerable<T>是一个接口。 您需要使用具体types(实现IEnumerable<T> )来启动。 例:

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

由于string[]实现IEnumerable

 IEnumerable<string> m_oEnum = new string[] {"1","2","3"} 

IEnumerable只是一个接口,所以不能直接实例化。

你需要创build一个具体的类(比如List

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

然后你可以将它传递给期望IEnumerable任何东西。

 public static IEnumerable<string> GetData() { yield return "1"; yield return "2"; yield return "3"; } IEnumerable<string> m_oEnum = GetData(); 

你不能实例化一个接口 – 你必须提供一个IEnumerable的具体实现。