如何转换IORDerenumerable<;char>;用c#串?
我需要按字母顺序对字符串排序。我发现最常见的解决方案是使用linq:如何转换IORDerenumerable<;char>;用c#串?,c#,linq,C#,Linq,我需要按字母顺序对字符串排序。我发现最常见的解决方案是使用linq: var sortedString = unsortedString.OrderBy(c => c); 这个解决方案的问题是结果不是字符串。结果是需要转换的IOrderedEnumerable。这不起作用: var sortedString = unsortedString.OrderBy(c => c).ToString(); 字符串是一个字符序列。所以 unsortedString.OrderBy(c =&g
var sortedString = unsortedString.OrderBy(c => c);
这个解决方案的问题是结果不是字符串。结果是需要转换的IOrderedEnumerablevar sortedString = unsortedString.OrderBy(c => c).ToString();
字符串是一个字符序列。所以
unsortedString.OrderBy(c => c)
还返回有序字符的序列。即IEnumerable
。您应该使用以下有序字符创建字符串的新实例:
var sortedString = new String(unsortedString.OrderBy(c => c).ToArray());
在字符序列上使用
ToString()
时,只需获得序列的类型名称。字符串是字符序列。所以
unsortedString.OrderBy(c => c)
还返回有序字符的序列。即IEnumerable
。您应该使用以下有序字符创建字符串的新实例:
var sortedString = new String(unsortedString.OrderBy(c => c).ToArray());
在字符序列上使用
ToString()
时,只需获得序列的类型名称。另一种方法是String.Concat
,它使用StringBuilder
:
string sortedString = String.Concat(unsortedString.OrderBy(c => c));
或String.Join
(我更喜欢不带分隔符的Concat
):
另一种方法是
String.Concat
,它使用StringBuilder
:
string sortedString = String.Concat(unsortedString.OrderBy(c => c));
或String.Join
(我更喜欢不带分隔符的Concat
):