foreach (string f in fileName)
{
if (list.Where(p => p.FileName.Trim().Equals(f.Trim(), StringComparison.OrdinalIgnoreCase)).Count() == 0)
{
ServerpathID = GetSourceServerPath(projectID, out ServerPath);
DellDirectory dir = new DellDirectory(ServerPath);
lstgAFPFileInfo = GetFilesFromSourceServer(new string[] { f }, ServerpathID, SearchOption.TopDirectoryOnly).ToList();
if (lstgAFPFileInfo.Count() != 0)
{
foreach (Service.GAFPFileInfo lstg in lstgAFPFileInfo)
{
projectfile.Checksum = string.Empty;
projectfile.IsAutoDeleted = (autoDelete == true) ? true : false;
projectfile.Size = lstgAFPFileInfo[0].Size;
projectfile.IsArchived = false;
projectfile.ProjectFileId = 0;
projectfile.Language.LanguageId = 1;
projectfile.LastModifyDate = lstgAFPFileInfo[0].LastModified;
projectfile.ProjectPartLink = projectPartLink;
projectfile.FileName = f;
list.Add(projectfile);
}
}
}
}
我有两个文件
1.txt
和2.txt
,存储在string[]
filename中。我正在将这些文件与数据库进行比较,并将值存储在lstgAFPFileInfo
中。第一次它得到了文件名1.txt
并添加到列表中。第二次它得到了值2.txt
,但在将文件添加到列表后,它覆盖了值1.txt
并再次添加了2.txt
。现在列表的值如下:list[0]:2.txt
和list[1]: 2.txt
有人能帮忙解决吗?
if (lstgAFPFileInfo.Count() != 0)
是完全多余的。如果lstgAFPFileInfo
不包含任何元素,你期望foreach
将会怎样呢?崩溃?为什么会这样。对于一个空序列进行迭代根本不会产生任何作用。因此,这个条件只会增加代码噪声和不必要的缩进。 - Konrad Morawski