C# 有没有一种简单的方法可以按字母顺序对字符串中的字符进行排序
我有这样的字符串:C# 有没有一种简单的方法可以按字母顺序对字符串中的字符进行排序,c#,string,sorting,C#,String,Sorting,我有这样的字符串: var a = "ABCFE"; 是否有一种简单的方法可以将此字符串排序为: ABCEF 谢谢您可以使用LINQ: String.Concat(str.OrderBy(c => c)) 如果要删除重复项,请添加.Distinct()是;将字符串复制到字符数组,对字符数组进行排序,然后将其复制回字符串 static string SortString(string input) { char[] characters = input.ToArray();
var a = "ABCFE";
是否有一种简单的方法可以将此字符串排序为:
ABCEF
谢谢您可以使用LINQ:
String.Concat(str.OrderBy(c => c))
如果要删除重复项,请添加
.Distinct()
是;将字符串复制到字符数组,对字符数组进行排序,然后将其复制回字符串
static string SortString(string input)
{
char[] characters = input.ToArray();
Array.Sort(characters);
return new string(characters);
}
你可以用这个
string x = "ABCGH"
char[] charX = x.ToCharArray();
Array.Sort(charX);
这将对字符串进行排序 根据我的微基准测试,这种方法的运行速度大约是使用OrderBy的3倍。因为使用了负标记,我不明白为什么。我跑了一个基准点,这远远优于林克。与数组相比,使用OrderBy排序“patrick”采用了
00:00:00.0000666
。排序00:00:00.0000022
显然方法名是tocharray(),而不是ToArray()。对于字符串,可以使用tocharray()
或ToArray()
,结果相同,但前者的性能可能更好。请参阅使用新字符串将比string.concat快得多。因此,如果我们考虑性能,新的字符串将Win。也与有序枚举数组施放?这是超级酷!
string x = "ABCGH"
char[] charX = x.ToCharArray();
Array.Sort(charX);