一直一来Data Table 都是For 循环一条条,一个一个Column的的For 下去进行 Trim,
发现这个做法非常非常影响效率,只要DataTable里面有1000条记录,然后Column超过 20条个,
Format的Trim的效率就非常慢。
#region 以下的处理空格的效率太慢
try
{
for (int k = 0; k < oldDTable.Rows.Count; k++)
{
Application.DoEvents();
for (int j = 0; j < oldDTable.Columns.Count; j++)
{
Application.DoEvents();
switch (oldDTable.Columns[j].DataType.Name)
{
case "Decimal": //数字型0置为空
/*
* 数字为0 ,是一个真实的存在,不能去掉为 DBNull
if (oldDTable.Rows[k][j] != null && Decimal.TryParse(oldDTable.Rows[k][j].ToString(), out decimalResult) && (Decimal)(oldDTable.Rows[k][j]) == 0)
oldDTable.Rows[k][j] = DBNull.Value;
*/
if (oldDTable.Rows[k][j] != null)
oldDTable.Rows[k][j] = oldDTable.Rows[k][j].ToString().Trim();
break;
case "String": //字符型去空
if (oldDTable.Rows[k][j] != null)
oldDTable.Rows[k][j] = oldDTable.Rows[k][j].ToString().Trim();
break;