2017-03-02 114 views
1

我有一个列表如下,如何检查特定字符串是否不存在于c#列表中?

List<string> variablelist = new List<string> { "first", "second","third"}; 

,我有一个多个列表,像

List<string> method = new List<string>(); 
//somecode 
method.Add(workingline); 

我要检查是否有任何variablelist元素没有出现在method清单,并我想得到那个特殊的元素。

由于提前

回答

0

这应该是另一个解决方案。

var list = variablelist.Where(ItemName => !method.Contains(ItemName)).ToList(); 
+0

感谢您的回答。但假设如果我的方法列表包含像'first = string.Empty;'和'first'这样的行,它已经存在于我的variableList列表中,但是没有被捕获,因为它们不完全匹配。我可以匹配这些元素,像第一个元素可以在方法列表中的任何格式? - – Malai

+0

我不明白,你能解释一下编辑吗? –

+0

更新了问题 – Malai

11

LINQ是这样做的最简单的方法,用Except方法:

var inOnlyVariableList = variableList.Except(method).ToList(); 

其结果将是字符串这是在variableListList<string>但不是在method

+0

感谢您的回答。但是假设我的'method'列表包含像'first = string.Empty;'和'first'这样的行,它已经存在于我的'variableList'列表中,但没有被捕获,因为它们不完全匹配。我可以匹配这些元素,像'first'元素可以在'method'列表中的任何格式? – Malai

+1

@Malai:如果你想要的不是字符串平等,你应该在问题中指定。我建议你用一个[mcve]和一个*精确*描述你要找的东西来问一个*新问题。 –

+0

更新了问题 – Malai

相关问题