Как объявить встроенный объект с встроенными переменными без родительского класса
Я пытаюсь сделать что-то вроде:
Object [] x = new Object[2];
x[0]=new Object(){firstName="john";lastName="walter"};
x[1]=new Object(){brand="BMW"};
Я хочу знать, есть ли способ достичь этого встроенного объявления в С#
Ответ 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"