首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何从列表1中获取list2中不存在的字符串子集?

如何从列表1中获取list2中不存在的字符串子集?
EN

Stack Overflow用户
提问于 2010-06-29 03:25:34
回答 2查看 295关注 0票数 2

我有两个列表

代码语言:javascript
运行
复制
list 1 = { "fred", "fox", "jumps", "rabbit"};
list2 ={"fred", "jumps"}

现在我需要获取一个list3,它包含list2中不存在的list1元素。所以列表3应该是

代码语言:javascript
运行
复制
list3  = {"fox", "rabbit"};

我可以使用循环手动完成此操作,但我想知道是否有类似list3 = list1 - list2或其他比使用循环更好的方法。

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-06-29 03:26:44

如果您使用的是.NET 3.5或更高版本,则可以使用

代码语言:javascript
运行
复制
var result = list1.Except(list2);

如果你想把它作为一个列表:

代码语言:javascript
运行
复制
List<string> list3 = list1.Except(list2).ToList();

对于旧版本的.NET,您可以将list1中的字符串作为关键字插入到字典中,然后从list2中删除这些字符串,然后返回字典中剩下的关键字。

代码语言:javascript
运行
复制
Dictionary<string, object> d = new Dictionary<string, object>();
foreach (string x in list1)
    d[x] = null;
foreach (string x in list2)
    d.Remove(x);
List<string> list3 = new List<string>(d.Keys);
票数 10
EN

Stack Overflow用户

发布于 2010-06-29 03:28:02

代码语言:javascript
运行
复制
list1.Except(list2);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3135486

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档