2012-04-04 2 views
1

나는이 서명하는 방법이 있습니다String.Join은 허용하지 않습니다 IEnumerable을 <string>

IEnumerable<string> GetCombinations(string s, int length) 

을 그리고이 같은 string.Join와 함께 사용하는 것을 시도하고있다 :

var combinations = GetCombinations(text, 2); 
string result = string.Join(", ", combinations); 

하지만 난 얻을 다음 컴파일러 오류 :

cannot convert from 'System.Collections.Generic.IEnumerable<string>' to 'string[]'

IEnumerable<string>을 가져올 수 있습니까? string.Join?

+0

@MitchWheat 어떻게 해결 될까요? 그것은 문제를 더욱 악화시킬 것입니다 ;-) String.Join은 두 번째 인수로 문자열이 아닌 ** 배열 **을 기대합니다. * 정확하게 * 컴파일러가 특정 오류로 사용자에게 알려주는 것. – RobIII

+0

계속 켜십시오. 나는 ToArray()를 말하려고했다. (그래서 나는 그 주석을 빨리 삭제했다) –

답변

5

전화 .ToArray on it?

String.Join(", ",combinations.ToArray()); 

편집

또한 Dan J's answer를 참조하십시오 닷넷 4 String.Join 의 과부하 때문에는 IEnumerable을을 받아 않습니다.

+0

우수!. 저작물. 너는 나의 날을 구했다. –

7

사용중인 .NET Framework 버전은 무엇입니까? 배열 대신 IEnumerable을 받아들이는 overload of String.Join이 .NET 4에 추가되었습니다.

관련 문제