我有一个包含文件夹中文件大小的数组,然后我有一个包含实际大小的列表。 gf.GameInformation
是一个包含文件名字符串和当前文件大小的字典。我想循环遍历文件中的每个元素,并检查当前元素大小是否与gf.GameInformation
中的实际文件大小相同或不同,但这种方法给我一个奇怪的结果。
FileInfo[] files = fileInfo.GetFiles();
foreach (FileInfo i in files)
{
foreach(var x in gf.GameInfomation)
{
if (i.Length != x.Value)
{
Console.WriteLine(i.Length);
break;
}
}
}
答案 0 :(得分:1)
我假设您不想评估每个gf.GameInformation
,而只评估与FileInfo i
相对应的FileInfo[] files = fileInfo.GetFiles();
foreach (FileInfo i in files)
{
if (i.Length != gf.GameInfomation[i.Name].Value)
{
//Do something
}
}
。你可以按照
xlab
答案 1 :(得分:1)
你的意思是这样吗?
FileInfo[] files = fileInfo.GetFiles();
foreach (FileInfo i in files)
{
if(gf.GameInfomation[i.Name] !=i.Length ) //Do something;
}
或者如果你可以使用Linq
FileInfo[] files = fileInfo.GetFiles();
files.Where(x=>gf.GameInfomation[x.Name] !=x.Length).ToList().ForEach(
//do Something
);