【发布时间】:2015-07-13 08:46:20
【问题描述】:
我想在 foreach 循环的帮助下检查文件名及其关联的文件大小。所以我有以下 2 个包含文件名和文件大小的字符串数组:
string[] file_name = {
"file1.dll",
"file2.dll"
};
string[] file_size = {
"17662", //file1.dll size
"19019" //file2.dll size
};
通过下面的 foreach 循环,我正在检查文件和大小是否匹配
foreach (string filename in file_name)
{
foreach (string filesize in file_size)
{
if (File.Exists(Directory.GetCurrentDirectory() + "\\dll\\" + filename))
{
FileInfo f = new FileInfo(Directory.GetCurrentDirectory() + "\\dll\\" + filename);
string s1 = f.Length.ToString();
if (s1 != filesize)
{
MessageBox.Show(f.Name + "modified DLL file, please change it to original");
}
}
}
}
但它总是显示消息,我不知道错误在哪里。
【问题讨论】:
-
问题很简单。您正在比较两个文件的大小......您可以创建一个 Dictionary
(文件名作为键,大小作为值),然后遍历字典并将值与文件的大小进行比较。 -
嘿@musium,感谢您的回答,但我是新手,您能给我示例链接,或编写示例/完整代码吗? :(
-
为什么要使用两个单独的数组来表示文件大小和名称?
-
@M.NasserJavaid,有人提到我是新手,我需要帮助,而不是问题:(
-
@EvaldasL 我在我的回答中发布了一个使用字典的示例
标签: c# foreach filenames filesize