J'ai une classe avec au moins 4 variables et j'ai fait un constructeur pour la classe afin de pouvoir l'initialiser avec
MyClass testobj = new MyClass(1234,56789,"test text", "something else", "foo");
Fonctionne bien.
Ensuite, j'ai un tableau de ceux-ci, que je dois analyser dans une boucle, donc j'aimerais obtenir des données statiques dans ce tableau.
Mon approche était:
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!")
}
mais de toute façon cela me donne une erreur étrange de me demander un supplément} ???
Je ne sais pas si je devrais mentionner cela, mais je l'utilise pour les pages Web utilisant Razor-engine 2. Mais je pense que c'est une question ordinaire en C #?
Ma solution consiste actuellement à initialiser le tableau avec une taille, puis à ajouter les éléments un à un au travers de l'index, mais je préférerais utiliser la solution ci-dessus, car je pourrais devoir déplacer les éléments de haut en bas dans l'ordre lors des tests et j'ai beaucoup plus de 3 dans les données réelles.
Vous vous demandez ce qui me manque dans le code ci-dessus ...?
Essayez d’ajouter des crochets après la nouvelle MyClass et un point-virgule à la fin.
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!")
};
Sténographie pour la victoire:
var myClassList = new[]
{
new MyClass(1001,1234,"Text 1", "abcdefghijklm", "Ding"),
new MyClass(1002,2345,"Text xx", "bla bla", "dong")
};
Tu veux:
MyClass[] testobjlist = new MyClass[] { ... }
Vous manquiez les crochets vers la fin.
cela fonctionnera aussi sans qu'il soit nécessaire de créer une construction
new MyClass [] { new MyClass { Field1 = "aa", Field2 = 1 } }
MyClass[] testobjlist = new MyClass[noOfObjects];
for(int i = 0; i < testobjlist.Length; i++) { testobjlist[i] = 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!")
};