Ответ 1
Хорошо, добавив к указанным ответам, вы также можете поискать
IEnumerable<string> m_oEnum = Enumerable.Empty<string>();
или
IEnumerable<string> m_oEnum = new string[]{};
У меня есть этот объект:
IEnumerable<string> m_oEnum = null;
и я хотел бы инициализировать его. Пробовал
IEnumerable<string> m_oEnum = new IEnumerable<string>() { "1", "2", "3"};
но он говорит: "IEnumerable не содержит метод для добавления строки. Любая идея? Спасибо
Хорошо, добавив к указанным ответам, вы также можете поискать
IEnumerable<string> m_oEnum = Enumerable.Empty<string>();
или
IEnumerable<string> m_oEnum = new string[]{};
IEnumerable<T>
- это интерфейс. Вам нужно начать с конкретного типа (который реализует IEnumerable<T>
). Пример:
IEnumerable<string> m_oEnum = new List<string>() { "1", "2", "3"};
Как string[]
реализует IEnumerable
IEnumerable<string> m_oEnum = new string[] {"1","2","3"}
IEnumerable
- это просто интерфейс и поэтому не может быть непосредственно создан.
Вам нужно создать конкретный класс (например, 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.