Ber*_*nDK 17 c# arrays constructor initialization razor-2
我有一个至少有4个变量的类,我已经为类创建了一个构造函数,以便我可以使用它进行初始化
MyClass testobj = new MyClass(1234,56789,"test text", "something else", "foo");
Run Code Online (Sandbox Code Playgroud)
工作良好.
然后我有一个这样的数组,我需要在循环中解析,所以我想得到一些静态数据到这个数组.
我的方法是:
MyClass[] testobjlist = new MyClass
{
new MyClass(1001,1234,"Text 1", "abcdefghijklm", "ding"),
new MyClass(1002,2345,"Text xx", "bla bla", "dong"),
new MyClass(1003,8653,"Text yy", "blah blah even more", "bamm!")
}
Run Code Online (Sandbox Code Playgroud)
但不知怎的,这给了我一个奇怪的错误,我需要额外的} ???
我不知道我是否应该提到这一点,但是我将它用于使用Razor-engine 2的网页.但我认为这是一个普通的C#问题?
我的解决方法是使用一个大小初始化数组,然后通过索引逐个添加元素,但我宁愿优先使用上面的解决方案,因为我可能需要在测试时按顺序上下移动项目,我有很多真实数据中超过3个.
想知道我在上面的代码中缺少什么......?
小智 25
尝试在新的MyClass之后添加方括号,并在末尾添加分号
MyClass[] testobjlist = new MyClass[]
{
new MyClass(1001,1234,"Text 1", "abcdefghijklm", "ding"),
new MyClass(1002,2345,"Text xx", "bla bla", "dong"),
new MyClass(1003,8653,"Text yy", "blah blah even more", "bamm!")
};
Run Code Online (Sandbox Code Playgroud)
获胜的简写:
var myClassList = new[]
{
new MyClass(1001,1234,"Text 1", "abcdefghijklm", "ding"),
new MyClass(1002,2345,"Text xx", "bla bla", "dong")
};
Run Code Online (Sandbox Code Playgroud)
这也无需创建结构即可工作
new MyClass [] { new MyClass { Field1 = "aa", Field2 = 1 } }
Run Code Online (Sandbox Code Playgroud)