初始化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的具体实现。