最近,我遇到了使用如下语法的C#示例:
var result = new { prop1 = "hello", prop2 = "world", prop3 = "." };
Run Code Online (Sandbox Code Playgroud)
我很喜欢.它看起来像JSON.但是,我不知道这个语法叫什么.出于这个原因,我不确定如何更多地了解它.我真的很想知道如何在结果中定义对象数组.例如,如果我想返回prop3的项目数组怎么办?那会是什么样的?这个语法叫什么?
Joh*_*ner 25
这在C#中称为匿名类型.
要返回一个数组,您可以简单地内联它:
var result = new { prop1 = "hello", prop2 = "world", prop3 = new int[] {1,2,3} };
Run Code Online (Sandbox Code Playgroud)
或者事先声明并使用它:
int[] array = new int[] {1,2,3};
var result = new { prop1 = "hello", prop2 = "world", prop3 = array};
Run Code Online (Sandbox Code Playgroud)
它被称为匿名类型.要在prop3中返回一个对象数组,你会写
var result = new { prop1 = "hello", prop2 = "world", prop3 = new[] { "h", "e", "l", "l", "o" } };
Run Code Online (Sandbox Code Playgroud)
我正在使用字符串,但对于任何类型的对象都是相同的:
var result = new { prop1 = "hello", prop2 = "world", prop3 = new[] { new YourType(), new YourType(), new YourType() } };
Run Code Online (Sandbox Code Playgroud)
请注意,数组声明中不需要数组中对象的类型; 你不需要编写new YourType[],编译器不需要它,IMO只是简单地使用它new[]