Инициализация IEnumerable <string> В С#

У меня есть этот объект:

IEnumerable<string> m_oEnum = null;

и я хотел бы инициализировать его. Пробовал

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

но он говорит: "IEnumerable не содержит метод для добавления строки. Любая идея? Спасибо

Ответ 1

Хорошо, добавив к указанным ответам, вы также можете поискать

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

или

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

Ответ 2

IEnumerable<T> - это интерфейс. Вам нужно начать с конкретного типа (который реализует IEnumerable<T>). Пример:

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

Ответ 3

Как string[] реализует IEnumerable

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

Ответ 4

IEnumerable - это просто интерфейс и поэтому не может быть непосредственно создан.

Вам нужно создать конкретный класс (например, List)

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

вы можете передать это на все, что ожидает IEnumerable.

Ответ 5

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

IEnumerable<string> m_oEnum = GetData();

Ответ 6

Вы не можете создать экземпляр интерфейса - вы должны предоставить конкретную реализацию IEnumerable.