2015-02-01 1 views
0

ReadAllLines(...) 뒤에 String이 필요합니다. 다른 사람이 설정을 도와 줄 수 있습니까?텍스트 파일에서 목록 상자로 모든 행을 읽습니다. C#

텍스트 파일을 ListBox (으)로 가져 오는 방법을 모르겠다. 당신이 한 번에 문자열의 컬렉션을 추가하려면

private void futureButton4_Click(object sender, EventArgs e) 
{ 
    ofd.Filter = "TXT|* .txt"; 

    if (ofd.ShowDialog() == DialogResult.OK) 
    { 
     string[] lines = System.IO.File.ReadAllLines(DialogResult); 
     listbox.Items.Add(lines); 
    } 
} 
+0

C#은 잘 모르겠지만'DialogResult' 대신'ofd.Path'와 같은 것을 사용해야한다고 생각합니다 - 객체가 아닌 파일 이름이 필요합니다 –

답변

3

, AddRange() 대신 Add() 사용합니다. 또한 선택한 파일의 전체 경로를 가져 오려면 FileName 속성을 참조해야합니다.

string[] lines = System.IO.File.ReadAllLines(ofd.FileName); 

listbox.Items.AddRange(lines); 

Add()에 대한 호출은 너무 당신이 볼 수있는 모든 클래스 유형이 경우 String[] Array에서, 컬렉션에 ToString()를 호출 끝납니다.

AddRange()을 사용하면 컬렉션의 각 항목에 대해 ToString()이 호출됩니다. 문자열 모음의 경우 각 문자열을 볼 수 있습니다. 작성한 사용자 정의 클래스를 사용하는 경우, ToString()을 + 효화해야합니다. 또는 AddRange()에 대한 호출에서 LINQ를 사용하여 표시된 특성을 선택할 수 있습니다.

+0

고맙습니다 – user2227874

관련 문제