2012-02-17 5 views
4

필자는 File.WriteAllLines()를 사용하는 이유에 대한 답을 찾기 위해 명백한 장소를 검색하는 행운이 없었습니다. infectedLog을 채워있다 여기에 코드를 생략System.Collections.Specialized.StringCollection의 내용을 file에 쓰는 방법은 무엇입니까?

static System.Collections.Specialized.StringCollection infectedLog = new System.Collections.Specialized.StringCollection(); 

File.WriteAllLines(@"C:\CustomSearchInfectedFiles.txt", infectedLog); 

누구 하나 내가 잘못하고, 또는 점하고 무엇을 말해 줄 수 .......하십시오 StringCollection을 출력 할 때 작동하지 않습니다 저에게 설명의 방향으로 저를 기쁘게할까요?

+0

_How_ 작동하지 않습니까? 오류가 무엇입니까? –

답변

7

File.WriteAllLines은 (제네릭 형식의 부족주의) IEnumerable를 구현 StringCollection, 반면 IEnumerable<string> (또는 string[])를 기대하고있다. 다음보십시오 :

using System.Linq; 
... 
File.WriteAllLines(@"C:\CustomSearchInfectedFiles.txt", infectedLog.Cast<string>()); 
+0

완벽. 너는 별이야. 고맙습니다! :) –

1

File.WriteAllLines(@"C:\CustomSearchInfectedFiles.txt", infectedLog.Cast<string>()); 
0

문제는 StringCollection 정말 추운 모음입니다 것입니다보십시오. IEnumerable < T>를 구현하지 않으며 배열이 아니므로 WriteAllLines에 과부하가 없습니다. > 당신이 목록 < 문자열처럼 현대 집합 형으로 전환 할 수

File.WriteAllLines(theFileName, infectedLog.Cast<string>()); 

을 또는 :

당신은이 작업을 수행 할 수 있습니다.

0
 using (StreamWriter w = File.AppendText(@"testfile.txt")) 
     { 
      foreach (var line in sc) 
      { 
       w.WriteLine(line); 
      } 
      w.Close(); 
     } 
관련 문제