30

最小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 を使用する Web ページに使用しています。しかし、これは通常の C# の質問だと思いますか?

私の回避策は、現在、サイズで配列を初期化し、インデックスを介して要素を 1 つずつ追加することですが、テスト時にアイテムを順番に上下に移動する必要がある可能性があるため、上記のソリューションをお勧めします。実際のデータでは 3 以上。

上記のコードで何が欠けていますか?

4

8 に答える 8

42

new 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!")
        };
于 2013-06-26T14:06:35.353 に答える
5

勝利の省略形:

var myClassList = new[]
{
    new MyClass(1001,1234,"Text 1", "abcdefghijklm", "ding"),
    new MyClass(1002,2345,"Text xx", "bla bla", "dong")
};
于 2015-05-13T15:44:45.650 に答える
3

あなたがしたい:

MyClass[] testobjlist = new MyClass[] { ... }

最後の方にブラケットがありませんでした。

于 2013-06-26T14:05:58.433 に答える
0

配列には以下のコードを使用できます。

additionalusers[] __adiitonaluser =
{
    new additionalusers()
};
__adiitonaluser[0].Email = Userpersonal.Email;
于 2019-04-12T06:36:10.820 に答える