【发布时间】:2015-06-07 08:57:09
【问题描述】:
考虑下面的代码
List<string> one = new List<string>();
List<string> two = new List<string>();
列表一包含 3 个字符串
Test 1
Test 1
Test 2
如何匹配字符串 Test 1 并将每个匹配的字符串放入 List two 并从列表一中删除匹配的字符串,这样它就只剩下 Test 2 字符串
这是我目前所拥有的
if (one.Any(str => str.Contains("Test 1")))
{
//What to do here
}
如果我使用AddRange(),它会将整个列表一添加到列表二
【问题讨论】:
-
这是什么意思:我将如何匹配字符串Test 1并将每个匹配的字符串放入列表二; 匹配字符串 Test 1 到底是什么意思
-
你在找
Intersectdotnetperls.com/intersect -
我建议您尝试查看
foreach循环并让它循环列表 1 中的每个项目。如果它在列表 1 中找到某些内容,请将其放入列表 2 并将其从列表 1 中删除。这可以通过使用indexOf和removeAt来完成。我想你可以自己弄清楚如何使用它们。 -
@SriramSakthivel 我想检查列表一是否包含某个字符串,如果确实如此,则将该特定字符串放入列表二并将其从列表一中删除
-
@Izzy:这不是完全不同的要求吗?所以你想检查
one是否包含“Test 1”,如果它确实从one中删除了所有“Test 1”并将一个“Test 1”添加到two,对吗?
标签: c#