解决方案 »

  1.   

    strs = line.Split(new char[] { '|' });后面加入
    for(int i=0;i<strs.Length; i++)
    {
        if(strs[i].Length == 0)
            strs[i] =  "0";
    }

    dt.Rows.Add(new object[] {strs[0],strs[1],strs[2],strs[3],strs[4],strs[5],strs[6], 
                        strs[7],strs[8],strs[9],strs[10],strs[11],strs[12], strs[13], strs[14],strs[15],strs[16],strs[17],
                        strs[18],strs[19],strs[20],strs[21],strs[22],strs[23],strs[24],strs[25],strs[26]});
    .......
    很耗性能吗?
      

  2.   

     strs中判断内容是否为空,如果 strs[index]没有内容,就赋值为0,也就是对 strs预处理一下
      

  3.   

    if(strs[15].Length == 0)
    {
          //这个时候strs[15]=“”,就是空字符串,插入到数据类型为decimal 的列中是不行的,因为decimal是数字类型的,只能插入数字
        strs[15] =“0”;
    }
      

  4.   


    if(strs.Length<26)
    {
          //可以处理了
    }
    else
    {
           for(int i=0;i<strs.Length; i++)
         {
                if(strs[i].Length == 0)
                       strs[i] =  "0";
         }                 dt.Rows.Add(new object[] {strs[0],strs[1],strs[2],strs[3],strs[4],strs[5],strs[6], 
                        strs[7],strs[8],strs[9],strs[10],strs[11],strs[12], strs[13], strs[14],strs[15],strs[16],strs[17],
                        strs[18],strs[19],strs[20],strs[21],strs[22],strs[23],strs[24],strs[25],strs[26]});
    }