在我的C#中缺少一些整数代码

0 c# arrays for-loop character counting

我正在为学校做一些练习并遇到了问题.当我尝试计算数组中的字符时,它只是返回数组本身.谁能告诉我我错过了什么?代码在C#中.

public static int CountFor(int n)
{
        int count = 0;

        int[] a = new int[] {n};
        for (int i = 0; i < a.Length; i++)
        {
            count += i;
        }
        return count;
} 
Run Code Online (Sandbox Code Playgroud)

并在主要显示结果:

Console.WriteLine(CountFor(1024));
Console.ReadKey();
Run Code Online (Sandbox Code Playgroud)

Son*_*nül 5

更改

new int[] {n}
Run Code Online (Sandbox Code Playgroud)

new int[n]
Run Code Online (Sandbox Code Playgroud)

有了new int[] {n},你有一个1元素数组作为n.

阅读:阵列教程

您可以轻松使用Enumerable.RangeEnumerable.Sum方法来简化您的方法;

public static int CountFor(int n)
{
   return Enumerable.Range(1, n).Sum();
} 
Run Code Online (Sandbox Code Playgroud)

  • @Johan您的代码添加了"1 + 2 + 3 + ... + 1024".您可以使用调试器自行找到它.如果你想计算一个整数中的位数,这是一个不同的问题,在[如何计算一个数字中的总位数?]中回答了这个问题.(http://stackoverflow.com/questions/4483886 /何灿I-GET-A-计数的最总用户号码的位数-IN-A-数). (2认同)