You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#随机数组显示全零、求和结果为零问题求助

C#数组输出全零、求和为零的问题解决

你的代码核心问题出在CreateArray方法里:你只是循环打印了10个随机数,但完全没把这些随机值存入数组,最后直接返回了一个新的int[10]。C#中int类型数组的默认元素值都是0,所以后续DisplayArray和SumTheArray操作的都是全零数组,结果自然全是0。

修正后的关键代码

先修改CreateArray方法,把随机数存入数组后再返回:

static int[] CreateArray()
{
    Random random = new Random();
    // 先创建长度为10的数组
    int[] resultArray = new int[10];
    for (int i = 0; i < 10; i++) 
    {
        // 将随机数赋值给数组对应位置的元素
        resultArray[i] = random.Next(1, 100);
        // 保留打印逻辑(不需要可删除)
        Console.WriteLine(resultArray[i]);  
    }
    // 返回填充好的数组
    return resultArray; 
}

完整修正代码

namespace random_array_2._0
{
    class Program
    {
        static void Main(string[] args)
        {
            int[] array;
            int sum = 0;
            int arraySum;

            array = CreateArray();
            DisplayArray(array);
            arraySum = SumTheArray(array, sum);
        }

        static int[] CreateArray()
        {
            Random random = new Random();
            int[] resultArray = new int[10];
            for (int i = 0; i < 10; i++) 
            {
                resultArray[i] = random.Next(1, 100);
                Console.WriteLine(resultArray[i]);  
            }
            return resultArray; 
        }

        static void DisplayArray(int[] array)
        {
            Console.WriteLine();
            Console.WriteLine("Sorted array in ASC order");
            Array.Sort(array);
            foreach (int i in array)
            {
                Console.Write(i + " ");
            }
        }

        static int SumTheArray (int[] array, int sum)
        {
            for (int i = 0; i < array.Length; i++)
            {
                sum += array[i];
            }
            Console.WriteLine($"all together equals to: {sum}");
            Console.ReadKey();
            return sum;
        }
    }
}

额外小建议

  • 变量名尽量见名知意,比如把Random Array改成Random random,避免和系统类名Array混淆
  • SumTheArray方法里的sum参数其实没必要传入,直接在方法内初始化int sum = 0即可,不过这不是当前问题的诱因

内容的提问来源于stack exchange,提问作者david

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 23:55:30