您总是可以这样定义一个类:
public class item {
int id;
string name;
}
然后像这样使用它:
List<item> items = new List<item>();
我们不能做这样的事情吗?
var items = new List<{int id, string name}>();
当基础对象定义简单且可预测时,这只是初始化的一种简短方法。
这在JavaScript中是可能的(我已经在Angular中看到了示例)。
很抱歉,如果以前已经回答过,我的快速搜索无法在Google或SO上找到针对该特定主题的答案。
答案 0 :(得分:11)
C#7引入了How to make an AJAX call without jQuery?,因此您可以这样做:
function loadImages(images) {
var src = document.getElementById("image-container");
images.foreach(function(imageUrl) {
var img = document.createElement("img");
img.src = "image.png";
src.appendChild(img);
});
}
在C#7之前,您可以使用旧的var list = new List<(int id, string name)>();
list.Add((3, "Bob"));
var (id, name) = list[0];
var entry = list[0];
string s = $"{entry.name} has ID {entry.id}";
foreach (var (id, name) in list)
{
}
类型,但有点混乱:
Tuple
答案 1 :(得分:7)
在c#7.0及更高版本中,您可以使用值元组-语法几乎相同:
Activity.toString()
答案 2 :(得分:7)
您也可以这样:
var list = new[] { new { Id = 1, Name = "name" } }.ToList();
list.Add(new { Id = 2, Name = "name2" });
foreach (var item in list)
{
int id = item.Id;
string name = item.Name;
}
参考:Anonymous Types,Implicitly Typed Arrays,ToList Extension Method