我有一个至少有4个变量的类,我已经为类创建了一个构造函数,以便我可以使用它进行初始化
MyClass testobj = new MyClass(1234,56789,"test text", "something else", "foo");
工作良好。
然后我有一个这样的数组,我需要在循环中解析,所以我想得到一些静态数据到这个数组。
我的方法是:
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!")
}
但不知怎的,这给了我一个奇怪的错误,我需要额外的} ???
我不知道我是否应该提到这一点,但是我将它用于使用Razor-engine 2的网页。但我认为这是一个普通的C#问题?
我的解决方法是使用一个大小初始化数组,然后通过索引逐个添加元素,但我宁愿优先使用上面的解决方案,因为我可能需要在测试时按顺序上下移动项目,我有很多真实数据中超过3个。
想知道我在上面的代码中缺少什么......?
尝试在新的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!")
};
胜利的简写:
var myClassList = new[]
{
new MyClass(1001,1234,"Text 1", "abcdefghijklm", "ding"),
new MyClass(1002,2345,"Text xx", "bla bla", "dong")
};
这也可以在不需要创建构造函数的情况下工作
new MyClass [] { new MyClass { Field1 = "aa", Field2 = 1 } }
你要:
MyClass[] testobjlist = new MyClass[] { ... }
你最后错过了方括号。
MyClass[] testobjlist =
{
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!")
};
MyClass[] testobjlist = new MyClass[noOfObjects];
for(int i = 0; i < testobjlist.Length; i++) { testobjlist[i] = new MyClass(); }
您可以使用以下代码来表示数组:
additionalusers[] __adiitonaluser =
{
new additionalusers()
};
__adiitonaluser[0].Email = Userpersonal.Email;