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);