"행 번호"가 개체의 인덱스 인 경우 개체에서 Rows
개체의 색인을 직접 가져올 수 없습니다. 블라드의 의견에 제안 당신은이 대신 같은 것을 사용할 수 있습니다 말했다
for (var i = 0; i < table.Columns.Count; i++)
{
if (Enumerable.Range(0, table.Rows.Count).All(
j => string.IsNullOrWhiteSpace(tables.Rows[j][i].ToStringOrNull())))
{
table.Columns.RemoveAt(i--);
}
}
, 당신이 한 번만 각 행을 방문하는 데이터는 처리하기 위해 더 나은 것이라고 나에게 보인다. 최소한 데이터 지역을 개선해야하며 일부 시나리오에서는 성능을 크게 향상시킬 수 있습니다. 예를 들면 :
bool[] keepColumn = new bool[table.Columns.Count];
for (int i = 0; i < table.Rows.Count; i++)
{
for (int j = 0; j < table.Columns.Count; j++)
{
if (!keepColumn[j] &&
!string.IsNullOrWhiteSpace(table.Columns[j].ToStringOrNull()))
{
keepColumn[j] = true;
}
}
}
for (int i = table.Columns.Count - 1; i >= 0; i--)
{
if (!keepColumn[i])
{
table.Columns.RemoveAt(i);
}
}
그것은 분명 좀 더 자세한하지만 그것은 (컬럼에 반대, 즉 테이블, 자연적으로 열이 행 그들의 자연적인 조직의 데이터를 처리 있기 때문에 이럴 그것은,이 경우 가치가있을 것입니다 행이 있음).
행 번호를 데이터 테이블에 기반으로 찾고 계십니까? –
확장 메소드'All' 대신'for'를 사용하십시오. – Vlad