2008-12-08 100 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>的列标题文本值。