如何按字母顺序对字符串数组进行排序?

Fir*_*oso 1 .net c# sorting lambda

按字母顺序按长度表示如下:

给出:{"=","== >>","= >>","=>","!>"}

我想出去:

!>
=
=>
=>>
==>>
Run Code Online (Sandbox Code Playgroud)

我目前只使用OrderBy(x => x.Length).ToArray()

谁有更好的lambda?

这合理吗?大声笑,我不知道这里的规则约定是什么:-(

Tim*_*ter 6

编写自己的字符串比较器,您可以执行此操作,这符合您发布的两组要求.

    public class MyStringComparer : IComparer<string>
    {
        #region IComparer<string> Members

        public int Compare(string x, string y)
        {
            if (x[0] == y[0])
            {
                return x.Length.CompareTo(y.Length);
            }
            else return x[0].CompareTo(y[0]);
        }

        #endregion
    }
Run Code Online (Sandbox Code Playgroud)

一个bcde bcd b bced cb

会屈服:

ab bcd bcde bced cb

和{"=","== >>","= >>","=>","!>"}

收益率:

!>
=
=>
=>>
==>>
Run Code Online (Sandbox Code Playgroud)

致电: myStringCollection.OrderBy(x=>x, new MyStringComparer).ToArray();


Jos*_*off 5

我不认为你试图做的排序与标准字典排序有什么不同,除非我遗漏了什么.