C# 在datarow上的Foreach循环中获取列索引
在下面的Foreach循环中C# 在datarow上的Foreach循环中获取列索引,c#,C#,在下面的Foreach循环中 foreach (DataRow row in dt.Rows) { foreach (DataColumn col in dt.Columns) { var val=row[col].ToString() var index=?? } } 如何检查当前列是否为最后一列?请尝试此操作 foreach (DataRow row in dt.Rows) { var index =0; foreach (Da
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
var val=row[col].ToString()
var index=??
}
}
如何检查当前列是否为最后一列?请尝试此操作
foreach (DataRow row in dt.Rows)
{
var index =0;
foreach (DataColumn col in dt.Columns)
{
var val=row[col].ToString()
index++;
if(index == dt.Columns.Count)
//true
}
}
您也可以遵循以下步骤:
foreach (DataRow row in dt.Rows)
{
for(int i=0; i< dt.Columns.Count; i++)
{
var val=row[i].ToString()
// here i will be the index
// dt.Columns[i] will be the column
}
}
foreach(数据行中的数据行)
{
对于(int i=0;i
如果您的要求是对最后一列执行某些操作[如问题中所述]意味着不需要进行迭代,那么您可以像这样使用列索引:
行[dt.Columns.Count-1]
使用以下代码和平
int total=dt.Columns.Count;
int i=0;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
if(i==total-1)
{
}
}这应该对您有所帮助
var index,val;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
index=dt.Columns.IndexOf(col);
val=row[index].ToString();
if (index == dt.Columns.Count-1)
//your code here...
}
}
如果我没弄错的话,你要找的东西是有序的
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
var index = col.Ordinal+1; // Current column index
if(index == dt.Columns.Count) // if column is last column in current row
{
your logice goes here
}
}
}
它提供列项目的当前位置
检查此项使用for循环或使用一个整数来增加dt.Columns.IndexOf(col)请参见此处:
if(dt.Columns.IndexOf(dt.Columns.Cast().LastOrDefault())==dt.Columns.IndexOf(col)){}
您想要什么?列索引,根据您的标题,还是检查当前列是否是最后一列(根据您的问题)?前一种情况由@Fabio回答,后一种情况将由@Fabio和dt.Columns.Count
组合而成。
var index,val;
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
index=dt.Columns.IndexOf(col);
val=row[index].ToString();
if (index == dt.Columns.Count-1)
//your code here...
}
}
foreach (DataRow row in dt.Rows)
{
foreach (DataColumn col in dt.Columns)
{
var index = col.Ordinal+1; // Current column index
if(index == dt.Columns.Count) // if column is last column in current row
{
your logice goes here
}
}
}