2009-11-28 136 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); 
     } 
    } 
} 
相关问题