나는 OpenFileDialog
을 가지고 있으며 선택한 파일 이름을 FileInfo[]
변수로 변환하고 싶습니다.openFileDialog.FileNames를 FileInfo []로 변환하는 방법
그러나 선택한 파일을 한 줄 코드로 변환하는 방법을 모르겠습니다.
이것은 분명히 작동하지 않습니다
FileInfo[] files = openFileDialog.FileNames;
감사합니다.
나는 OpenFileDialog
을 가지고 있으며 선택한 파일 이름을 FileInfo[]
변수로 변환하고 싶습니다.openFileDialog.FileNames를 FileInfo []로 변환하는 방법
그러나 선택한 파일을 한 줄 코드로 변환하는 방법을 모르겠습니다.
이것은 분명히 작동하지 않습니다
FileInfo[] files = openFileDialog.FileNames;
감사합니다.
사용 LINQ :
FileInfo[] files = openFileDialog.FileNames.Select(f => new FileInfo(f)).ToArray();
FileInfo
class는 constructor that expects a filename을 제공합니다. 따라서, 하나의 파일 이름 string
에 대한 FileInfo
인스턴스를 얻기 위해, 단순히 생성자 전화 : 귀하의 경우에는
FileInfo file = new FileInfo(openFileDialog.FileName);
을, 당신은 배열을 얻으려면 여러 파일 이름 문자열을 따라서 당신은에서 LINQ 확장 방법을 사용할 수 있습니다 Enumerable
class :
FileInfo[] files = openFileDialog.FileNames.Select(fn => new FileInfo(fn)).ToArray();
주 Select
로 결국 ToArray
에 추가 호출, IEnumerable<FileInfo>
를 반환합니다.
'FileInfo [] files = (FileInfo []) openFileDialog.FileNames.Select (f => 새 FileInfo (f)); 고맙습니다. –
@AlexJolig 아니요, 실패합니다. 대신 'ToArray' 메서드를 사용하십시오. –