C#中的常量数组

duy*_*hoa 1 c# arrays

我开始学习C#几天,如果这是一个愚蠢的问题!我有一个像这样的字符串数组

private readonly string[] algorithm_list = {
                                              "Genetic Algorithm",
                                              "Dynamic Algorithm"
                                          };
Run Code Online (Sandbox Code Playgroud)

和我的代码

switch (al_choose)
            {
                case algorithm_list[0]:
                    break;
                case algorithm_list[1]:
                    break;
                default:

            }
Run Code Online (Sandbox Code Playgroud)

错误是algorithm_list [0]不是常量!所以我尝试其他声明

private readonly string[] algorithm_list 
Run Code Online (Sandbox Code Playgroud)

要么

private contant string[] algorithm_list
Run Code Online (Sandbox Code Playgroud)

但它仍然无法正常工作???? 那么,对我有什么建议吗?非常感谢!

Hos*_*Rad 7

对于这些情况,最好使用Enum

public enum AlgorithmList
{
        GeneticAlgorithm,
        DynamicAlgorithm
}
Run Code Online (Sandbox Code Playgroud)

然后:

switch (al_choose)
{
    case AlgorithmList.GeneticAlgorithm:
        break;
    case AlgorithmList.DynamicAlgorithm:
        break;
    default:
        break;
}
Run Code Online (Sandbox Code Playgroud)

编辑如果Enum要将a 的值绑定到a ComboBox,可以这样做:

yourCombobox.ItemsSource = Enum.GetValues(typeof(AlgorithmList)).Cast<AlgorithmList>();
Run Code Online (Sandbox Code Playgroud)