未显示的最大文件
Largest file not being displayed
我正在做一个基于文件排序的编程作业。我在计算最大文件时遇到问题。我想要下面的代码做的是显示我系统中最大的文件。相反,它会查看我拥有的所有文件的完整列表。
这是我针对这个特定部分的代码:
for (int index = 0; index < files.Length; index++)
{
fileSize = files[index].Length;
long largestSoFar = 0;
folderInfo = new DirectoryInfo("C:\Windows");
files = folderInfo.GetFiles();
if (fileSize > largestSoFar)
{
string fileName = files[index].Name;
largestSoFar = files[index].Length;
long largestFile = largestSoFar;
Console.WriteLine("Largest file: {0}, {1} bytes", fileName, largestSoFar);
// It should be that only the largest file gets shown.
}
}
您在循环内定义了 largestSoFar
,因此每次都会对其进行初始化,这就是您有效地遍历所有文件的原因。把它排除在循环之外,它最终将包含最大的文件。循环完成后你可以输出所有的细节
var fileName = "";
long largestSoFar = 0;
var folderInfo = new DirectoryInfo("C:\Windows");
var files = folderInfo.GetFiles();
for (int index = 0; index < files.Length; index++)
{
long fileSize = (long) files[index].Length;
if (fileSize > largestSoFar)
{
fileName = files[index].Name;
largestSoFar = (long) files[index].Length;
}
}
//write largest file information
Console.WriteLine("Largest file: {0}, {1} bytes", fileName, largestSoFar);
// It should be that only the largest file gets shown.
请尝试以下代码
long largestSoFar = 0;
string largestFileName = string.Empty;
DirectoryInfo folderInfo = new DirectoryInfo("C:\Windows");
FileInfo[] files = folderInfo.GetFiles();
for (int index = 0; index < files.Length; index++)
{
long fileSize = files[index].Length;
if (fileSize > largestSoFar)
{
largestFileName = files[index].Name;
largestSoFar = files[index].Length;
}
}
Console.WriteLine("Largest file: {0}, {1} bytes", largestFileName, largestSoFar);
我正在做一个基于文件排序的编程作业。我在计算最大文件时遇到问题。我想要下面的代码做的是显示我系统中最大的文件。相反,它会查看我拥有的所有文件的完整列表。
这是我针对这个特定部分的代码:
for (int index = 0; index < files.Length; index++)
{
fileSize = files[index].Length;
long largestSoFar = 0;
folderInfo = new DirectoryInfo("C:\Windows");
files = folderInfo.GetFiles();
if (fileSize > largestSoFar)
{
string fileName = files[index].Name;
largestSoFar = files[index].Length;
long largestFile = largestSoFar;
Console.WriteLine("Largest file: {0}, {1} bytes", fileName, largestSoFar);
// It should be that only the largest file gets shown.
}
}
您在循环内定义了 largestSoFar
,因此每次都会对其进行初始化,这就是您有效地遍历所有文件的原因。把它排除在循环之外,它最终将包含最大的文件。循环完成后你可以输出所有的细节
var fileName = "";
long largestSoFar = 0;
var folderInfo = new DirectoryInfo("C:\Windows");
var files = folderInfo.GetFiles();
for (int index = 0; index < files.Length; index++)
{
long fileSize = (long) files[index].Length;
if (fileSize > largestSoFar)
{
fileName = files[index].Name;
largestSoFar = (long) files[index].Length;
}
}
//write largest file information
Console.WriteLine("Largest file: {0}, {1} bytes", fileName, largestSoFar);
// It should be that only the largest file gets shown.
请尝试以下代码
long largestSoFar = 0;
string largestFileName = string.Empty;
DirectoryInfo folderInfo = new DirectoryInfo("C:\Windows");
FileInfo[] files = folderInfo.GetFiles();
for (int index = 0; index < files.Length; index++)
{
long fileSize = files[index].Length;
if (fileSize > largestSoFar)
{
largestFileName = files[index].Name;
largestSoFar = files[index].Length;
}
}
Console.WriteLine("Largest file: {0}, {1} bytes", largestFileName, largestSoFar);