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

2023-12-15

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有人可以帮忙吗?


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

Illustration

Add projectfile = new ProjectFile()到循环的顶部来解决这个问题。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

关于 C# 使用 foreach 循环添加对象到列表 的相关文章

随机推荐

  • 方法的 ES6 对象字面量语法

    我正在看这个这一页有关 ES6 中用于声明对象内部方法的各种简写语法 我不明白这两种形式之间的区别 var foo a b and var foo x y gt y 这篇文章似乎对这两种格式做了明确的区分 但是第一种格式不就真的变成了第二种
  • 带有 jQ​​uery 和 Masked 输入插件的电话掩码

    我在使用 jQuery 屏蔽电话输入时遇到问题屏蔽输入插件 有 2 种可能的格式 XX XXXX XXXX XX XXXXX XXXX 有什么办法可以掩盖它接受这两种情况吗 EDIT I tried phone mask 99 9999 9
  • 使用 urn:schemas 按电子邮件地址搜索

    I found 这段代码来自里卡多 迪亚兹 它贯穿始终 我想搜索我收到或发送到特定的最新电子邮件电子邮件地址与搜索相反subject 我更换了 searchString urn schemas httpmail subject like e
  • 反引号 (`...`) 在 JavaScript 中调用函数

    我不知道如何解释这一点 但是当我跑步时 console log 1 在谷歌浏览器中 我得到的输出如下 console log 1 VM12380 2 1 raw Array 1 为什么反引号调用日志函数 以及为什么它创建索引raw Arra
  • Python函数默认参数随机值

    在下面的代码中 按照预期生成了一个随机值 import random for i in range 10 print random randint 0 10 但是 如果我使用函数 这将不起作用 import random def f val
  • c++:MPI 通信器作为全局变量

    我需要可以在函数 类成员函数中访问 MPI 世界通信器 但按照设计 惯例 MPI 环境和通信器总是在开始时定义和初始化 int main 我能想到的唯一简单的解决方案是使用指向通信器的全局指针 有人知道更好的方法吗 使用全局指针解决方案有危
  • 像使用 MySQL 一样获取 Twitter 关注者

    你好 假设我有一个例子 我的关注表 A B 1 2 same so its friend 2 1 same so its a friend 1 3 user 1 is following 3 1 4 user 1 is following
  • clang 错误:未知参数:'-mno-fused-madd' (python 包安装失败)

    尝试安装时出现以下错误psycopg2通过 Mavericks 10 9 上的 pip clang error unknown argument mno fused madd Wunused command line argument ha
  • 如何使用 DocumentBuilderFactory Android 应用程序在 Android 中创建、读取和写入 XML 文件

    我正在使用我的应用程序实现一项服务 在Android应用程序中如何创建XML文件以及如何读取和写入XML文件 在我们的资源文件夹中 不使用SD卡 None
  • WebBrowser 控件 onpropertychange 事件的事件处理程序 - sender 和 e 对象为 null

    在 C 中 我在服务器端线程中运行 WebBrowser WB 控件 并希望监视 侦听 onpropertychange 事件 我可以成功附加一个在属性更改时执行的 NET 委托签名方法 但是sender 和 e 对象均为 null因此 在
  • IronPython 和 C# - 对 C# 对象的脚本访问

    考虑下面的代码 ScriptRuntimeSetup setup Python CreateRuntimeSetup null ScriptRuntime runtime new ScriptRuntime setup ScriptEngi
  • Android Studio 中的 ListFragment

    我正在浏览在线教程 试图了解 ListFragment 的工作原理以及我们如何使用它 这些教程有点模糊 我无法理解它到底是如何工作的 也无法在 Android Studio 上实现 ListFragment 有人可以提供有关 ListFra
  • 从分层 JSON 中挑选出简单属性

    尽管其他用户对我的标题进行了编辑 但我正在寻找一种使用 C 中的 JSON NET 库的解决方案 包含伪代码的回复就可以了 我正在尝试使用 JSON 数据集提供的分层数据 我正在使用 C 和 JSON NET 如果有帮助的话 我愿意一般 使
  • HTTP 页面正在删除我的安全 cookie

    我有一个混合 HTTP HTTPS 的网站 当用户登录时 她会收到两个 cookie 包含她 签名 用户名 登录过期时间和 不安全 标志的常规 cookie a secure cookie with her signed username
  • 使用 Python 和 Beautiful Soup 4 抓取 Twitter 时专注于特定结果?

    这是我的帖子的后续内容使用 Python 抓取 Twitter 中的嵌套 Div 和 Spans 我没有使用 Twitter API 因为它不会通过以下方式查看推文 话题标签这么远 完整的代码和输出如下示例所示 我想从每条推文中抓取特定数据
  • Jmeter 在每次 http 请求后清除 cookie

    在jmeter上下文中 有没有办法在同一线程组内的每个http请求之后清除cookie 在这种情况下 为什么您需要 HTTP Cookie 管理器 只需将其删除 您就会得到预期的行为 以防万一您遇到某种形式的奇怪的负面测试场景 Add a
  • 啊?添加 SDK 1.6 后 Android 首选项页面拒绝加载

    这个实在是太奇怪了 我有一个完美运行的 Eclipse Android 2 2 SDKboth管理员帐户andWindows XP 下的 LUA 有限用户帐户 然后我决定添加 Android 1 6 SDK 我只能通过管理员帐户来完成 看起
  • 如何将另一个站点的所有产品导入到magento站点

    嗨 任何人都可以帮助我吗 我已经在实时服务器上安装了magento 现在我想导入已准备好实时运行的网站的所有产品和类别 我该怎么做 请提供帮助 请参阅 Magento 维基 如何使用导入 导出工具添加 编辑 删除产品 Magento 比较特
  • 重载 Haskell 中的内置函数

    在 Haskell 中 如何重载内置函数 例如 我最初是想弄清楚如何重载内置函数 通过自己的数据类型来支持 具体来说 属于以下类型 a gt Int gt a 我想保留它的现有功能 但也能够在其类型签名看起来更像的地方调用它 MyType1
  • 关于 C# 使用 foreach 循环添加对象到列表

    foreach string f in fileName if list Where p gt p FileName Trim Equals f Trim StringComparison OrdinalIgnoreCase Count 0