pSumColumnValue = "10@20@30|15@25@35|[email protected]@2.55";请问如何用c# 写出结果  此中的列数不确定 现在自定的是3列 可能有5列 或更多
预想结果是:[email protected]@67.55

解决方案 »

  1.   

    var tt = pSumColumnValue.Split('|');
    string[] a = string[3];
    foreach(var p in tt)
    {
     var q = p.Split('@');
     a[0] = (int.Parse(a[0]) + int.Parse(q[0])).toString;
     a[1] = (int.Parse(a[1]) + int.Parse(q[1])).toString;
     a[2] = (int.Parse(a[2]) + int.Parse(q[2])).toString;
    }
    var result = a[0] + "@" + a[1] + "@" + a[2];方法类似,注意转换相加的地方,浮点转字符会出错,自己解决。
      

  2.   

    var tt = pSumColumnValue.Split('|');
    string[] a = string[3];
    foreach(var p in tt)
    {
    var q = p.Split('@');
    a[0] = (int.Parse(a[0]) + int.Parse(q[0])).toString();
    a[1] = (int.Parse(a[1]) + int.Parse(q[1])).toString();
    a[2] = (int.Parse(a[2]) + int.Parse(q[2])).toString();
    }
    var result = a[0] + "@" + a[1] + "@" + a[2];
    int.Parse()在这里是不行的,你的数字有小数,我只是给你一个参考方法。
      

  3.   

    1的意思。
    string[] a = string[3];更改下就可以适用3列5列或者更多