c# - 如何将枚举作为方法参数传递?

标签 c# enums

任务是编写一个简单的方法,可以对 int 数组进行排序(按升序或降序排列 - 应设置为该方法的枚举类型参数)。我已经编写了方法本身和枚举,但我不知道如何将枚举设置为方法参数:(

很高兴能从你们那里得到任何帮助,因为我对编码完全陌生。

class Program
{

    public enum options
    {
        UpSortOption,
        DownSortOption
    }

    public static void Main(string[] args)
    {
        int[] arr = new int[] { 3, 8, 0, 2, 16 };
    }

    static void orderArray(int [] array, options op)
    {
        switch(op)
        {
            case options.UpSortOption:
                Array.Sort(array);
                foreach (int number in array)
                {
                    Console.Write(number + " ");
                }
                break;

            case options.DownSortOption:
                Array.Sort(array);
                Array.Reverse(array);
                foreach (int number in array)
                {
                    Console.Write(number + " ");
                }
                break;

        }
    }
}

最佳答案

该方法的签名看起来不错,现在您想通过传递整数数组类型的第一个参数和 options 类型的第二个参数来调用该方法,您可以使用以下代码:

orderArray(arr,options.UpSortOption);

或者您可以声明一个 options 类型的变量并传递该变量,您必须针对这种情况进行的更改将是:

options optionsVariable = options.DownSortOption;
orderArray(arr,optionsVariable);

关于c# - 如何将枚举作为方法参数传递?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44387363/

相关文章:

c# - Microsoft Bot Framework - 清晰的对话状态

c# - CultureInfo 在 Windows 版本之间不一致

c# - 使用angular js和WebAPI上传excel文件

c# - BringToFront() 方法会触发哪些事件?

ios - typedef 行 : 上的“预期标识符”错误

c# - 最小起订量 未执行调用

swift - Swift 中的 Kotlin 枚举类

c# - 在项目之间共享枚举

java - 您将如何在 Ruby 中实现这个 Java 枚举类?

没有枚举的 Pythonic 设计