이 개체가 있습니다.
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
인터페이스 일 뿐이므로 직접 인스턴스화 할 수 없습니다.
당신의 (a 콘크리트와 같은 클래스를 작성해야합니다 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의 구체적인 구현을 제공해야합니다.
답변
다음과 같이 원하는 IEnumerable을 반환하는 정적 메서드를 만들 수 있습니다.
public static IEnumerable<T> CreateEnumerable<T>(params T[] values) =>
values;
//And then use it
IEnumerable<string> myStrings = CreateEnumerable("first item", "second item");//etc..
또는 다음을 수행하십시오.
IEnumerable<string> myStrings = new []{ "first item", "second item"};
