2-х мерная таблица структур - PullRequest
1 голос
/ 03 мая 2011

В C я могу использовать следующую форму внутри метода.

void foo() {
   struct {
      int val;
      int color;
      string desc;
   } ItemMap[] = {
      { 1, 2, "test"},
      { 2, 3, "test"},
   }

   // process tasks according to ItemMap.
}

Если я хочу сделать то же самое в C #, как этого добиться?

1 Ответ

8 голосов
/ 03 мая 2011

Вы можете использовать анонимные типы для этого в C #:

var ItemMap = new[] { new { val = 1, color = 2, desc = "test" }, 
                      new { val = 2, color = 3 , desc = "test" } };

string description = ItemMap[0].desc;

Это, однако, приведет к созданию одномерного массива анонимного класса для вас, не являющегося структурой, а также только для чтения. Если вам определенно нужен изменяемый тип структуры / значения, вам придется объявить структуру вне вашего метода.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...