c# - How to add value to each item in array inline style -


आइये कि मेरे पास एक सरणी है

  string [] arr = new string [] { "1", "2", "3"};   

मैं मूल्य के अंत में एक स्ट्रिंग जोड़ना चाहूंगा, ऐसा कुछ:

  arr.appendToEnd ("test"); वापसी arr; // रिटर्न {"1 टेस्ट", "2 टेस्ट", "3 टेस्ट"}   

मैं सोच रहा था कि इसमें कुछ अंतर्निहित है जो ऐसा कर सकते हैं, निर्माण करने के बजाय मेरी खुद की विस्तार विधि।

इसमें कुछ भी अंतर्निहित नहीं है आप आसानी से एक नया सरणी बनाने के लिए LINQ का उपयोग कर सकते हैं:

  arr = arr। चयन करें (x = & gt; x + "test")। ToArray ();   

... लेकिन वह मूल सरणी को संशोधित नहीं करने जा रहा है। यदि कुछ और मूल सरणी के संदर्भ में है, तो वे परिवर्तन नहीं देखेंगे। आम तौर पर यह वास्तव में एक अच्छी चीज आईएमओ है, लेकिन कभी-कभी आप मौजूदा संग्रह को संशोधित कर सकते हैं।

इसके लिए, आप मौजूदा सरणी (या कोई अन्य IList & lt ; T & gt; कार्यान्वयन):

  सार्वजनिक स्थिर शून्य ModifyAll & lt; T & gt; (यह IList & lt; T & gt; स्रोत, Func & lt; T, T & gt; संशोधन) {/ / TODO: तर्क सत्यापन के लिए (int i = 0; i & lt; source.Qount; i ++) {स्रोत [i] = संशोधन (स्रोत [i]); }}   

तब आप उपयोग कर सकते हैं:

  arr.ModifyAll (x = & gt; x + "test");   

मैं स्ट्रिंग- concatenation-specific एक्सटेंशन विधि लिखने के बजाय निश्चित रूप से इसका उपयोग करूँगा।

Comments

Popular posts from this blog

php - PDO bindParam() fatal error -

logging - How can I log both the Request.InputStream and Response.OutputStream traffic in my ASP.NET MVC3 Application for specific Actions? -

java - Why my included JSP file won't get processed correctly? -