填充c#数组时出错
我正试图这样做,但得到语法错误。我做错什么了吗?我是否每次都必须创建一个特定的类来适应这些对象填充c#数组时出错,c#,C#,我正试图这样做,但得到语法错误。我做错什么了吗?我是否每次都必须创建一个特定的类来适应这些对象 var groups = [ { id: 1, name: 'Conversation' }, { id: 2, name: 'Business' }, { id: 27, name: 'Animals' } ]; 那不是C;尝试: 也就是说。。。使用匿名类型很尴尬;您可能希望声明一个具有Id和名称的类型,并使用它: var groups = new [] { new
var groups = [
{ id: 1, name: 'Conversation' },
{ id: 2, name: 'Business' },
{ id: 27, name: 'Animals' }
];
那不是C;尝试:
也就是说。。。使用匿名类型很尴尬;您可能希望声明一个具有Id
和名称的类型,并使用它:
var groups = new [] {
new Foo { Id = 1, Name = "Conversation" },
new Foo { Id = 2, Name = "Business" },
new Foo { Id = 27, Name ="Animals" }
};
...
class Foo {
public int Id {get;set;}
public string Name {get;set;}
}
试试这个:
var groups = new object[] { new { id=1, name="Conversation" },
new { id=1, name="Conversation" },
new { id=1, name="Conversation" }
};
在我看来像javascript…添加对象
意味着您丢弃了匿名类型的类型信息;这是一个糟糕的想法我会选择结构而不是类
@alfiegoodacreno;这不会编译,即使编译了:它也不能正确地表达多重性。我认为我所展示的代码是最接近javascript的version@MarcGravell感谢你澄清了这一点,我不知道C#文档说这是有效的int[]numbers={1,2,3,4,5}代码>-我想那只是为了显式输入?@AlfieGoodacre正确;在匿名类型的情况下,唯一的表达方式是通过var x=new[]{new{…},new{…}
-是Foo[]x=
告诉编译器需要一个数组,而您不能将它用于匿名类型。
var groups = new object[] { new { id=1, name="Conversation" },
new { id=1, name="Conversation" },
new { id=1, name="Conversation" }
};