首页 > 解决方案 > 如何使用同一类中的函数编辑 Main() 中的值?

问题描述

所以我试图从 Main() 中获取一个值,用一个函数对其进行编辑,然后保留更改后的值。

编辑:

    static void Divisors(int i, int count)
    {
        while (i % 2 == 0 && i != 0)
        {
            divisors[count] = i/2;
            count++;
        }
    }

    static void Main(string[] args)
    {
        int i = 10;
        int count = 0;
        int[] divisors = new int[1000];
        
        Divisors(i);
        
        return count;
    }

想要的输出:不管它算什么

实际输出:0

标签: c#

解决方案


参数在 C# 中按值传递,因此您不能为它们分配新值并让它们影响传递给它们的原始参数。您可以改为从 中返回一个值,并在方法中将其Change分配给:iMain

static int Change(i)
{
    return i + 2;
}

static void Main(string[] args)
{
    int i = 0
    i = Change(i);
}

推荐阅读