Cela doit être très simple mais ne pas comprendre ma syntaxe ici. Disons que nous avons des classes comme deux ci-dessous:
class Student
{
Subject[] subjects;
}
class Subject
{
string Name;
string referenceBook;
}
Voici mon code:
Student univStudent = new Student();
Maintenant, je veux ajouter des sujets ici, mais pas capable de faire quelque chose comme
univStudent.subjects.add(new Subject{....});
Comment puis-je ajouter des éléments à ce tableau d'objets?
Tu peux essayer
Subject[] subjects = new Subject[2];
subjects[0] = new Subject{....};
subjects[1] = new Subject{....};
vous pouvez également utiliser la liste
List<Subject> subjects = new List<Subject>();
subjects.add(new Subject{....});
subjects.add(new Subject{....});
Vous pouvez utiliser la classe System.Array pour ajouter un nouvel élément:
Array.Resize(ref objArray, objArray.Length + 1);
objArray[objArray.Length - 1] = new Someobject();
Tu ne peux pas. Cependant, vous pouvez remplacer le tableau par un nouveau contenant l'élément supplémentaire.
Mais il est plus facile et plus performant d’utiliser un List<T>
(utilise l’interface IList
) pour cela. List<T>
ne redimensionne pas le tableau chaque fois que vous ajoutez un élément, mais le double en cas de besoin.
Essayer:
class Student
{
IList<Subject> subjects = new List<Subject>();
}
class Subject
{
string Name;
string referenceBook;
}
Maintenant vous pouvez dire:
someStudent.subjects.Add(new Subject());
Si vous le pouvez, utilisez un List<Subject>
au lieu de Subject[]
... Cela vous permettra de faire Student.Subject.Add(new Subject())
. Si ce n'est pas possible, vous devrez redimensionner votre tableau ... consultez Array.Resize () à http://msdn.Microsoft.com/en-us/library/bb348051.aspx
Je sais que c’est vieux, mais j’ai trouvé un moyen plus simple et c’est comme cela que je le fais. Il suffit de créer une nouvelle liste du même objet et de l’ajouter à celui que vous voulez utiliser, par exemple.
Subject[] subjectsList = {new Subject1{....}, new Subject2{....}, new Subject3{....}}
univStudent.subjects = subjectsList ;