2011-04-23 24 views
14

पर तत्व जोड़ें यह वास्तव में सरल होना चाहिए, लेकिन यहां मेरा वाक्यविन्यास नहीं मिल रहा है। मान लीजिए कि हम नीचे दो तरह कक्षाएं डालते हैं:ऑब्जेक्ट एरे

class Student 
{ 
    Subject[] subjects; 
} 

class Subject 
{ 
    string Name; 
    string referenceBook; 
} 

यहाँ मेरी कोड है:

Student univStudent = new Student(); 

अब, मैं यहाँ नहीं बल्कि कुछ ऐसा करने में सक्षम विषयों जोड़ना चाहते हैं

univStudent.subjects.add(new Subject{....}); 

मैं इस ऑब्जेक्ट सरणी में आइटम कैसे जोड़ूं?

उत्तर

34

आप

Subject[] subjects = new Subject[2]; 
subjects[0] = new Subject{....}; 
subjects[1] = new Subject{....}; 

वैकल्पिक रूप से आप सूची

List<Subject> subjects = new List<Subject>(); 
subjects.add(new Subject{....}); 
subjects.add(new Subject{....}); 
+3

मैंने दूसरे तरीके का उपयोग किया और एक किया। टोएरे () – user583126

2

उपयोग कर सकते हैं आप, Subject[] के बजाय एक List<Subject> उपयोग कर सकते हैं की कोशिश कर सकते हैं ... यह आप Student.Subject.Add(new Subject()) करने देंगे। यदि यह संभव नहीं है, तो आपको अपनी सरणी का आकार बदलना होगा ... http://msdn.microsoft.com/en-us/library/bb348051.aspx

6

पर आप Array.Resize() को देखेंगे। हालांकि, आप सरणी को एक नए से बदल सकते हैं जिसमें अतिरिक्त तत्व होता है।

लेकिन यह आसान है और List<T> (इंटरफ़ेस IList का उपयोग करता है) का उपयोग करने के लिए बेहतर प्रदर्शन देता है। प्रत्येक बार जब आप कोई आइटम जोड़ते हैं तो List<T> सरणी का आकार बदलता नहीं है - इसके बजाए यह आवश्यक होने पर इसे दोगुना करता है।

प्रयास करें:

class Student 
{ 
    IList<Subject> subjects = new List<Subject>(); 
} 

class Subject 
{ 
    string Name; 
    string referenceBook; 
} 

अब आप कह सकते हैं:

someStudent.subjects.Add(new Subject()); 
9

आप नए तत्व जोड़ के लिए वर्ग System.Array उपयोग कर सकते हैं:

Array.Resize(ref objArray, objArray.Length + 1); 
objArray[objArray.Length - 1] = new Someobject(); 
0

मैं जानता हूँ कि यह पुराना है, लेकिन यह एक आसान तरीका की तलाश में आया, और इस तरह मैं इसे करता हूं, बस एक ही वस्तु की एक नई सूची बनाएं और इसे उसमें जोड़ें उपयोग करने के लिए चींटी उदा।

Subject[] subjectsList = {new Subject1{....}, new Subject2{....}, new Subject3{....}} 
univStudent.subjects = subjectsList ; 
संबंधित मुद्दे