2009-11-28 181 views

回答

6

您在使用.NET 3.5?如果是這樣,它是那麼容易,因爲:

array = array.OrderBy(x => x.MemberName).ToArray(); 

這雖然會創建一個新陣列 - 如果任何其他代碼有舊數組的引用,它仍然會看到未排序的數據。

或者,你可以使用Array.Sort方法,將就地對數組進行排序,通過以下三種方式之一:

中的任意兩個物體

最後一個可能是,如果你正在使用C#3最簡單的方法:

Array.Sort(array, (x1, x2) => x1.MemberName.CompareTo(x2.MemberName)); 
0
class Program 
{ 
    class Foo 
    { 
     public int FirstMemberValue { get; set; } 
    } 

    static void Main(string[] args) 
    { 
     var foos = new[] 
     { 
      new Foo { FirstMemberValue = 1 }, 
      new Foo { FirstMemberValue = 3 }, 
      new Foo { FirstMemberValue = 2 } 
     }; 
     Array.Sort(foos, (f1, f2) => f1.FirstMemberValue.CompareTo(f2.FirstMemberValue)); 
     foreach (var item in foos) 
     { 
      Console.WriteLine(item.FirstMemberValue); 
     } 
    } 
} 
相關問題