删除两个 List之间的重叠项目收藏品

发布于 2024-09-28 12:49:44 字数 722 浏览 1 评论 0原文

我有两个 List 集合,我们称它们为 allFieldNames (完整集)和 exceptedFieldNames (部分集)。我需要派生第三个列表,该列表为我提供所有非排除的字段名称。换句话说,在排除的字段名称中找不到所有字段名称的子集列表。这是我当前的代码:

public List<string> ListFieldNames(List<string> allFieldNames, List<string> excludedFieldNames)
        {
            try
            {
                List<string> lst = new List<string>();

                foreach (string s in allFieldNames)
                {
                    if (!excludedFieldNames.Contains(s)) lst.Add(s);
                }
                return lst;
            }
            catch (Exception ex)
            {
                return null;
            }
        }

我知道必须有一种比手动迭代更有效的方法。请提出建议。

I have two collections of List, let's call them allFieldNames (complete set) and excludedFieldNames (partial set). I need to derive a third List that gives me all non-excluded field names. In other words, the subset list of allFieldNames NOT found in excludedFieldNames. Here is my current code:

public List<string> ListFieldNames(List<string> allFieldNames, List<string> excludedFieldNames)
        {
            try
            {
                List<string> lst = new List<string>();

                foreach (string s in allFieldNames)
                {
                    if (!excludedFieldNames.Contains(s)) lst.Add(s);
                }
                return lst;
            }
            catch (Exception ex)
            {
                return null;
            }
        }

I know there has to be a more efficient way than manual iteration. Suggestions please.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

栀梦 2024-10-05 12:49:44

您可以使用例外< /a> 方法:(

return allFieldNames.Except(excludedFieldNames).ToList();

如果您愿意返回 IEnumerable 而不是 List 那么您可以省略最后的 ToList 也可以调用。)

You can use the Except method:

return allFieldNames.Except(excludedFieldNames).ToList();

(And if you're happy to return an IEnumerable<string> rather than a List<string> then you could omit the final ToList call as well.)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文