2008-12-08 8 views

Répondre

5

C# 2.0? Ou C# 3.0? La réponse LINQ (C# 3.0, soit avec .NET 3.5 ou 2.0/.NET 3.0 avec LINQBridge) est beaucoup plus facile ;-P

-à-dire

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; 
     }); 

Soit manière, qui vous donne un List<string> des valeurs de texte d'en-tête de colonne.

Questions connexes