सी # 2.0? या सी # 3.0?
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;
});
कोई एक: LINQ जवाब (सी # 3.0, या तो .NET 3.5 या .NET 2.0/LINQBridge साथ 3.0 के साथ) एक बहुत ;-p
यानी
var names = (from col in listView.Columns.Cast<ColumnHeader>()
orderby col.DisplayIndex
select col.Text).ToList();
आसान बनाम है रास्ता, जो आपको कॉलम हेडर टेक्स्ट मानों का List<string>
देता है।
स्रोत
2008-12-08 04:58:08