【发布时间】:2012-01-11 15:10:13
【问题描述】:
我想从满足特定条件的列表中删除项目。我举了一个到目前为止我想出的例子:
//remove 1´s and 3´s from list of ints
List<int> indexes = new List<int>();
List<int> ints = new List<int>();
ints.Add(1);
ints.Add(2);
ints.Add(3);
foreach (int i in ints)
{
if(i == 1 || i == 3)
indexes.Add(ints.IndexOf(i));
}
indexes.Reverse();
foreach (int index in indexes)
{
ints.RemoveAt(index);
}
我很好奇解决方案是否可以优化?我不能使用 System.Linq,我只找到了 System.Data.Linq 命名空间作为参考(Visual Studio 2005)
更新
我最好发布我的真实代码。这是关于从网格视图中删除列
List<int> indexes = new List<int>();
foreach (Type type in types)
{
foreach (DataControlField c in entriesGrid.Columns)
{
string header = c.HeaderText;
if (header == type.Name)
{
indexes.Add(entriesGrid.Columns.IndexOf(c));
}
}
}
【问题讨论】:
-
...如果解决方案很好,您当然应该保留这个问题。这就是网站的全部意义所在。