-4

我有这个List<string>

如何通过 LINQ 获取某些字符串?

我猜应该是这样的

List<string> test = new List<string>;

test.Add("1");

test.Add("2");

test.Add("1");


var dist = test.Where(s=>s  ==  "1") or ???

或者

var dist = test.Distinct(a => a == "1"); ??? 

谢谢!

4

3 回答 3

5

尝试使用不同的方法:

var dist = test.Distinct();

还有一个重载版本的Distinct方法允许通过自定义比较器。

于 2012-06-26T15:14:53.410 回答
2

如果您想找出哪些字符串只在列表中出现一次,您可以使用它:

List<string> test = new List<string>() { "1", "2", "1" };
var distinctStrings = test.GroupBy(s => s).Where(g => g.Count() == 1).Select(g => g.Key);
foreach (string str in distinctStrings)
    Console.WriteLine(str);
于 2012-06-26T15:17:48.880 回答
0

我找到了答案伙计们!感谢许多------ :)

所以应该是

var dist = test.Where(a => a == "1"); 
于 2012-06-27T01:40:37.127 回答