2008-12-08 102 views

回答

5

C#2.0?或者C#3.0?的LINQ答案(C#3.0,與任一.NET 3.5或.NET 2.0/3.0與LINQBridge)是一個更容易;-p

var names = (from col in listView.Columns.Cast<ColumnHeader>() 
       orderby col.DisplayIndex 
       select col.Text).ToList(); 

VS:

 List<ColumnHeader> cols = new List<ColumnHeader>(); 
     // populate 
     foreach (ColumnHeader column in listView.Columns) { 
      cols.Add(column); 
     } 
     // sort 
     cols.Sort(delegate(ColumnHeader x, ColumnHeader y) { 
      return x.DisplayIndex.CompareTo(y.DisplayIndex); 
     }); 
     // project 
     List<string> names = cols.ConvertAll<string>(delegate(ColumnHeader x) { 
      return x.Text; 
     }); 

要麼方式,給你一個List<string>的列標題文本值。