gpt4 book ai didi

c# - 关于 C# 使用 foreach 循环将对象添加到列表

转载 作者:行者123 更新时间:2023-11-30 13:37:36 25 4
gpt4 key购买 nike

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);
}
}
}
}

我在 string[] 文件名中有两个文件 1.txt2.txt。我正在将这些文件与 db 进行比较,并将值输入 lstgAFPFileInfo。第一次获取文件名 1.txt 并添加到列表中。第二次它得到值 2.txt 但在将文件添加到列表后它覆盖值 1.txt 并再次添加 2.txt。现在列表值就像这样 list[0]:2.txtlist[1]: 2.txt有人可以帮忙吗?

最佳答案

这是因为您的循环不断地不断添加相同的对象,所以您的列表最终会包含对同一对象的多个引用。

Illustration

projectfile = new ProjectFile() 添加到循环的顶部以解决此问题。

关于c# - 关于 C# 使用 foreach 循环将对象添加到列表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22043436/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com