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
and 2.txt
in string[]
文件名。我正在将这些文件与数据库进行比较并将值放入lstgAFPFileInfo
。第一次获取文件名1.txt
并添加到列表中。第二次获得价值2.txt
但将文件添加到列表后,它会覆盖该值1.txt
并再次添加2.txt
。现在列表值是这样的list[0]:2.txt
and list[1]: 2.txt
有人可以帮忙吗?
这是因为您的循环不断地不断添加相同的对象,因此您的列表最终会出现对同一对象的多个引用。
Add projectfile = new ProjectFile()
到循环的顶部来解决这个问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)