我正在尝试获取列表中所有字符串的不同字符列表(区分大小写)。
我有一个包含 3 个字符串的列表:
"AABbDDCCRRFF"
"JOJaCK"
"BILLY"
输出应该是这样的(字符顺序不重要):
ABDCRFJOKaILYb
我知道以下是错误的,但无法解决:
distChars = (from string row in valuesList[c]
select row.Distinct()
).Distinct().ToString();
有谁知道如何从每个字符串中返回不同的字符。如果这不能在 LINQ 中完成,那么我愿意接受其他选择。 谢谢!
更新: 哇,很好的答案,这么快!使字符按字母顺序或按出现频率排序的方法是什么?
最佳答案
你可以这样做:
string[] values = new []{"AABbDDCCRRFF","JOJaCK","BILLY"};
var uniqueChars = new string(values.SelectMany(x => x).Distinct().ToArray());
编辑:
正如@Douglas 所建议的,使用 string.Concat()
而不是 new string()
可能会稍微更有效,即:
var uniqueChars = string.Concat(values.SelectMany(x => x).Distinct());
关于c# - 跨多个字符串的不同字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9349262/