use*_*126 20 c# arrays collections
这一定非常简单但只是没有让我的语法在这里.假设我们在下面有两个类:
class Student
{
Subject[] subjects;
}
class Subject
{
string Name;
string referenceBook;
}
Run Code Online (Sandbox Code Playgroud)
这是我的代码:
Student univStudent = new Student();
Run Code Online (Sandbox Code Playgroud)
现在,我想在这里添加主题但不能做类似的事情
univStudent.subjects.add(new Subject{....});
Run Code Online (Sandbox Code Playgroud)
如何向此对象数组添加项?
Bal*_*a R 43
你可以试试
Subject[] subjects = new Subject[2];
subjects[0] = new Subject{....};
subjects[1] = new Subject{....};
Run Code Online (Sandbox Code Playgroud)
或者你可以使用List
List<Subject> subjects = new List<Subject>();
subjects.add(new Subject{....});
subjects.add(new Subject{....});
Run Code Online (Sandbox Code Playgroud)
Geo*_*aph 11
您可以使用System.Array类添加新元素:
Array.Resize(ref objArray, objArray.Length + 1);
objArray[objArray.Length - 1] = new Someobject();
Run Code Online (Sandbox Code Playgroud)
你不能.但是,您可以使用包含额外元素的新数组替换该数组.
但是使用List<T>
(使用接口IList
)为此更容易并且提供更好的性能.List<T>
每次添加项目时都不会调整数组的大小 - 而是在需要时将其加倍.
尝试:
class Student
{
IList<Subject> subjects = new List<Subject>();
}
class Subject
{
string Name;
string referenceBook;
}
Run Code Online (Sandbox Code Playgroud)
现在你可以说:
someStudent.subjects.Add(new Subject());
Run Code Online (Sandbox Code Playgroud)
如果可以的话,使用 aList<Subject>
代替Subject[]
... 这会让你这样做Student.Subject.Add(new Subject())
。如果这是不可能的,您将不得不调整数组的大小...查看 Array.Resize() http://msdn.microsoft.com/en-us/library/bb348051.aspx
归档时间: |
|
查看次数: |
146088 次 |
最近记录: |