반응형
IEnumerable 초기화 C #에서
이 개체가 있습니다.
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) =>
return values.AsEnumerable();
//And then use it
IEnumerable<string> myStrings = CreateEnumerable("first item", "second item");//etc..
또는 다음을 수행하십시오.
IEnumerable<string> myStrings = new []{ "first item", "second item"};
참고 URL : https://stackoverflow.com/questions/6573069/initializing-ienumerablestring-in-c-sharp
반응형
'program story' 카테고리의 다른 글
스위프트 : 가드 vs if let (0) | 2020.08.14 |
---|---|
React Native에서 뷰의 배경색을 투명하게 설정하는 방법 (0) | 2020.08.14 |
Android의 strings.xml 파일 오류 (0) | 2020.08.14 |
실행 도구를 사용하여 내부 저장소에서 데이터베이스 또는 기타 파일 검색 (0) | 2020.08.14 |
Rails 3 양식 제출 버튼의 텍스트를 변경하는 방법 (0) | 2020.08.14 |