0

目前我正在使用以下方法获取文件的大小:

FileInfo fileSize = new FileInfo(@"C:\file.txt");
long size = fileSize.Length;

我认为您必须能够使用数组并遍历它们,而不是对我想要的每个文件都这样做,所以我使用了这个:

FileInfo[] fileSizes = new FileInfo[2];
fileSizes[0] = @"C:\file.txt";
fileSizes[1] = @"C:\file.txt";

现在我不断收到错误“无法将类型'string'隐式转换为'System.IO.FileInfo'”。我尝试使用 .ToString() 但没有骰子,非常感谢任何帮助,谢谢!

4

3 回答 3

2
FileInfo[] fileSizes = new FileInfo[3];
fileSizes[0] = new FileInfo(@"C:\file.txt");
fileSizes[1] = new FileInfo(@"C:\file.txt");
fileSizes[2] = new FileInfo(@"C:\file.txt");

@"C:\file.txt" 是一个字符串,而不是对象本身..

于 2011-10-14T13:20:05.557 回答
2

您不应该将多个文件存储在一个FileInfo数组中。要修复您的错误,您需要执行以下操作:

FileInfo[] fileSizes = new FileInfo[3];
fileSizes[0] = new FileInfo(@"C:\file.txt");
fileSizes[1] = new FileInfo(@"C:\file.txt");
fileSizes[2] = new FileInfo(@"C:\file.txt");

但是,您应该像这样(如下)存储它们并遍历列表并一次加载一个FileInfo

String[] files = new String[3];
files[0] = @"C:\file.txt";
files[1] = @"C:\file.txt";
files[2] = @"C:\file.txt";

foreach (String file in files)
{
    FileInfo info = new FileInfo(file);
    // do something with info.Length
}
于 2011-10-14T13:21:05.197 回答
1

替换@"C:\file.txt";new FileInfo(@"C:\file.txt");

于 2011-10-14T13:20:20.450 回答