Подтвердить что ты не робот

Как объявить встроенный объект с встроенными переменными без родительского класса

Я пытаюсь сделать что-то вроде:

Object [] x = new Object[2];

x[0]=new Object(){firstName="john";lastName="walter"};
x[1]=new Object(){brand="BMW"};

Я хочу знать, есть ли способ достичь этого встроенного объявления в С#

4b9b3361

Ответ 1

да, есть:

object[] x = new object[2];

x[0] = new { firstName = "john", lastName = "walter" };
x[1] = new { brand = "BMW" };

вы были практически там, только объявление анонимных типов было немного отключено.

Ответ 2

Вы также можете объявить "x" с помощью ключевого слова var:

var x = new
{
  driver = new
  {
    firstName = "john",
    lastName = "walter"
  },
  car = new
  {
    brand = "BMW"
  }
};

Это позволит вам объявить ваш объект x inline, но вам нужно будет указать ваши 2 анонимные объекты, чтобы получить к ним доступ. У вас может быть массив "x":

x.driver.firstName // "john"
x.car.brand // "BMW"

var y = new[] { x, x, x, x };
y[1].car.brand; // "BMW"