计算平均值大于x的数字计数

时间:2011-12-25 10:56:06

标签: c# optimization average

我们有一个输入字符串,例如“456,678,4599,87567” 需要找到逗号分隔数字的平均值大于数字x的数字的数量。 这是我解决这个问题的工作程序。想知道是否有人可以建议更优化的代码或更好的方法解决这个问题。我使用c#代码

public static int test(string i2,int limit)
    {
        int count=0;
        int i;
        int len = 0;
        Int32 sum;
        char[] tm={'{','}'};
        i2 = i2.Trim(tm);
        string[] w = i2.Split(',');
        len = w.Length;
        while (len-- > 0)
        {
                i=0;
                sum = 0;

                while (i < w[len].Length)
                {
                    sum += w[len][i] - '0';
                    i++;
                }
                if (sum / i >= limit)
                    count++;
        }
        return count;
    }

1 个答案:

答案 0 :(得分:1)

您可以使用LINQ:

var result = input.Trim('{', '}')
                  .Split(',')
                  .Count(num => num.Average(ch => ch - '0') >= limit);