【发布时间】:2012-12-06 19:42:54
【问题描述】:
| 1 | 2 | 3 |
+------------+
| A | B | C |
| D | E | F |
| G | H | I |
System.Data.DataTable dt = new DataTable();
dt.Columns.Add("1");
dt.Columns.Add("2");
dt.Columns.Add("3");
dt.Rows.Add(new object[] { "A", "B", "C" });
dt.Rows.Add(new object[] { "D", "E", "F" });
dt.Rows.Add(new object[] { "G", "H", "I" });
int? index = null;
var rows = new System.Data.DataView(dt).ToTable(false, new[] {"1"}).Rows;
for (var i = 0; i < rows.Count; i++)
{
if (rows[i].ItemArray.FirstOrDefault() as string == "A")
index = i;
}
有没有什么方法可以简化这段代码来获取某一行的索引,并提供一个列?在这种情况下,索引将是0,因为我正在遍历第一列,直到找到“A”。感觉应该有一个linq解决方案,但我想不通。
【问题讨论】: