在我的 C# 中遗漏了一些整数代码

Missing something in my C# count for integers code

我正在做一些学校练习,运行遇到一个问题。 当我尝试对数组中的字符进行计数时,它只会返回数组本身。 谁能告诉我我错过了什么?代码在 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;
} 

并主要显示结果:

Console.WriteLine(CountFor(1024));
Console.ReadKey();

改变

new int[] {n}

new int[n]

对于 new int[] {n},您有一个包含 1 元素的数组 n

阅读:Arrays Tutorial

您可以轻松地使用 Enumerable.Range and Enumerable.Sum 方法来简化您的方法,例如;

public static int CountFor(int n)
{
   return Enumerable.Range(1, n).Sum();
} 

你需要使用new int[n],否则你将生成一个长度为1的新数组,并将传递的整数作为数组

内容