2013-10-02 1 views

답변

5

개인적으로 나는 LINQ를 사용하십시오 :

var files = mySFI.Select(x => x.Filename) 
       .ToArray(); 

는 다른 방법으로, Array.ConvertAll있다 : AS를

var files = Array.ConvertAll(mySFI, x => x.Filename); 

를 제외하고, 내가 강하게 조언을 대신 필드의 속성을 사용하는 것입니다. 그것은 당신의 코드가 자동으로 구현 된 속성을 사용하도록 변경하는 것은 매우 쉽습니다 :

public class SavedFileInfo 
{ 
    public String Address { get; set; } 
    public Int32 DataPort { get; set; } 
    public Int32 AudioPort { get; set; } 
    public String Description { get; set; } 
    public String Filename { get; set; } 
} 
+0

파일을 읽고 쓰는 데 FileHelpers (www.filehelpers.com) 라이브러리를 사용하고 있습니다. 그 라이브러리는 속성이 아닌 필드를 사용하고자하는 것에 대해 까다 롭습니다. 그렇지 않으면 나는 너와 완전히 동의 할 것이다. –

+2

@MichaelMankus : IMO에서 시작하는 것은 정말 나쁜 신호입니다. 나는 그러한 가난한 디자인 결정을하는 도서관에 매우 조심 스러울 것이다. 경로의 길이에 따라 대체 경로가 있는지 확인할 수도 있습니다. –

0
SavedFileInfo[] mySFI; 
var fileNameArr = mySFI.Select(p=>p.Filename).ToArray(); 
1
String[] fileNames = new string[mySFI.Length]; 
for (int i = 0; i < mySFI.Length; i++) 
    fileNames[i] = mySFI[i].Filename; 

내가 여기서 뭔가를 누락 될 수 있습니다,하지만 당신이 정말로 의미하는 경우 "방법"어떤이의 "그것을하고,하지 가장 간단한 방법 "(그것을 위해 - Skeet의 답변을보십시오) 다음 그것은 비 - linq 방식으로 그것을하는 방법을 아는 것이 중요합니다. 내가 너를 오해한다면 - 사과 할께.