我想借助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(Filename as key,Size as value),然後遍歷字典並將該值與文件大小進行比較。 –
musium
Heh @musium,謝謝你的回答,但我是新手,你能舉個例子鏈接,還是寫例子/完整的代碼? :( – EvaldasL
爲什麼你使用兩個單獨的陣列文件大小和名稱? –