मैं मूल्यों के एक सेट (सी # में) के साथ प्रकार सूची के चर को प्रारंभ करने का एक तरीका ढूंढ रहा हूं। हां, ऑब्जेक्ट प्रारंभिकता है लेकिन इसके लिए आपको इच्छित प्रत्येक मान के लिए एक नई वस्तु की आवश्यकता है और मैं इसके बजाय इसे टालना चाहूंगा।एक सूची <T> को उन मानों के साथ शुरू करें जो शून्य नहीं हैं
class MyObject
{
public string Name {get;set;}
}
List<MyObject> OldNames = new List<MyObject>(10);
List<MyObject> NewNames = new List<MyObject>(5);
यह ठीक है और बांका लेकिन OldNames प्रकार MyObject का एक उद्देश्य के लिए 10 अशक्त संदर्भ शामिल हैं:
यहां एक नमूना है।
एक सूची प्रारंभकर्ता मैं ऐसा कर सकता है का उपयोग करना:।
List<MyObject> OldNames = new List<MyObject>{
new MyObject(),
new MyObject(),
new MyObject(),
etc.
एक दर्द की तरह है कि के रूप में मैं कई सूची चर और विभिन्न आकारों (exaample के लिए प्रारंभ करने में एक चर 26 वस्तुओं की एक सूची है हाँ है, मैं अपने लिए यह प्रारंभ करने के लिए एक समारोह या शायद विस्तार लिख सकता हूं (एक लूप में जहां मैं आकार प्रदान करता हूं) लेकिन फिर वह कोड है जो मैं लिखना नहीं चाहता हूं।
मुझे उम्मीद है कि कुछ प्रकार का लम्दाबा है या LINQ अभिव्यक्ति या ऑब्जेक्ट्स की सूची को नल के बजाए मूल्यों में प्रारंभ करने के लिए कुछ।
धन्यवाद!
मुझे यकीन नहीं है कि यह वैसे भी एक अच्छा विचार है। आप इसकी आवश्यकता क्यों है? – SWeko
'int' कन्स्ट्रक्टर इसे शून्य आइटमों से भरता नहीं है, यह सूची को खाली छोड़ देता है लेकिन आइटम की उस संख्या के लिए * क्षमता * के साथ। – Rawling
@SWeko यह एक बुरा विचार क्यों है? यदि आप ऐसी चीजों की एक सूची चाहते हैं जो शून्य नहीं हैं तो ऐसा करने के लिए लूप लिखने के बजाय सूची को प्रारंभ करने का एक आसान तरीका होना चाहिए। – Bil