C# Создать Const Array с несколькими значениями одновременно - PullRequest
1 голос
/ 02 апреля 2020

У меня есть класс, как показано ниже;

public class PhoneNumbersDto
{            
 public string code { get; set; }
 public int dial { get; set; }
 public string mask { get; set; }
 public string name { get; set; }
}

И у меня есть значения, как показано ниже;

 {
    "code": "TR",
    "dial": 90,
    "mask": "### ### ## ##",
    "name": "Turkey"
  },
  {
    "code": "TM",
    "dial": 993,
    "mask": "## ######",
    "name": "Turkmenistan"
  },
  {
    "code": "TC",
    "dial": 1649,
    "mask": "### ####",
    "name": "Turks & Caicos Islands"
  }

Я хочу создать массив stati c const с TheseClassType, но я не смог не инициализируйте его.

Есть ли способ создать массив * stati c или const с несколькими значениями одновременно.

Спасибо

1 Ответ

3 голосов
/ 02 апреля 2020
    public static readonly PhoneNumbersDto[] array =
    {
        new PhoneNumbersDto()
        {
            code = "TR",
            dial = 90,
            mask = "### ### ## ##",
            name = "Turkey"
        },
        new PhoneNumbersDto()
        {
            code = "TM",
            dial = 993,
            mask = "## ######",
            name = "Turkmenistan"
        },
        new PhoneNumbersDto()
        {
            code = "TC",
            dial = 1649,
            mask = "### ####",
            name = "Turks & Caicos Islands"
        }
    }; 

Как сказал @eocron, инициализация может работать; выше пример. Хотя для лучшего стиля я рекомендую вам использовать конструктор, принимающий эти четыре ввода, а не показанный стиль.

readonly используется вместо const - вы можете объявить элементы времени компиляции только как константы. только чтение означает, что вы не можете редактировать ссылку на этот массив.

...