在主 C# 中获取方法

本文关键字:方法 获取 在主 | 更新日期: 2023-09-27 18:23:46

     static void bubble(int [] mas)
    {
        int temp;
        for (int i = 0; i < mas.Length; i++)
        {
            for (int j = 0; j < mas.Length - 1; j++)
                if (mas[j] > mas[j + 1])
                {
                    temp = mas[j + 1];
                    mas[j + 1] = mas[j];
                    mas[j] = temp;
                }
        }
        foreach (var element in mas)
        {
            Console.WriteLine("Sorted elements are: {0}", element);
        }
    }
    static void Main(string[] args)
    {
        int[] mas = new int[5];
        Console.WriteLine("Please enter the elements of the array: ");
        for (int i = 0; i < 5; i++)
        {
            mas[i] = Convert.ToInt32(Console.ReadLine());
        }
        bubble();
    }

我需要使用方法来解决 Uni 项目的一些任务,我遇到的问题是我想在 Main 中创建一个数组,在不同的方法中使用它,并将这些方法的结果调用回 Main。当我这样做并尝试将"气泡"调用回 Main 时,它告诉我没有给定的参数对应于正式给定参数。有没有一种简单的方法来解决这个问题,这样我就可以解决这个问题并继续以类比方式创建其他方法。提前致谢

在主 C# 中获取方法

出现错误的原因是函数bubble需要int[]作为参数。

当前您有bubble()当前状态下为"无参数">

将其替换为bubble(mas);

您需要在调用中传递参数以在 main 中冒泡:

bubble(mas);

像这样更改代码:

static int[] bubble(int [] mas)
    {
        int temp;
        for (int i = 0; i < mas.Length; i++)
        {
            for (int j = 0; j < mas.Length - 1; j++)
                if (mas[j] > mas[j + 1])
                {
                    temp = mas[j + 1];
                    mas[j + 1] = mas[j];
                    mas[j] = temp;
                }
        }
        foreach (var element in mas)
        {
            Console.WriteLine("Sorted elements are: {0}", element);
        }
    }
    static void Main(string[] args)
    {
        int[] mas = new int[5];
        Console.WriteLine("Please enter the elements of the array: ");
        for (int i = 0; i < 5; i++)
        {
            mas[i] = Convert.ToInt32(Console.ReadLine());
        }
        bubble(mas);
    }