本帖最后由 lulupiaoxu 于 2013-12-05 11:43:15 编辑

解决方案 »

  1.   

    你要改排序方式那就用Sort的重载,Sort(用lambda写个匿名方法)
      

  2.   

    字母比较是根据ASCII码进行比较的,大小写字母的ASCII码不一样的。
    字母A比字母Z要小,并按A到Z顺序递增。如“A”<“Z”
    同个字母的大写字母比小写字母要小32。如“A”<“a” 
      

  3.   

    这个主要是因为foreach并不是按顺序输出的,想要按顺序输出用for
      

  4.   

    默认的排序规则跟当前的文化(Thread.CurrentThread.CurrentCulture)有关系。
    一种文化中包括了如何比如字符,(比如按笔划,按拼音排等)。如果要用内码排(即#1 bdmh说的‘asicc’码),可以用StringComparer.Ordinal:
    aa.Sort(StringComparer.Ordinal);
    bb.Sort(StringComparer.Ordinal);
    cc.Sort(StringComparer.Ordinal);具体可阅读下帖的讨论(3楼,4楼):
    http://bbs.csdn.net/topics/390438931
      

  5.   

    奇怪啊,下两句结果分别是:-1 和 1
    Console.WriteLine(string.Compare("Va", "vd", false));
    Console.WriteLine(string.Compare("V", "v", false));
      

  6.   


    这个应该是Compare方法也是按照一定方式进行对比的,指定下对比方式应该就能解决了