सी # - यानी में किसी सरणी की पूंछ प्राप्त करने का सबसे आसान तरीका क्या है। सभी पहले तत्व के रूप में।एक सरणी की पूंछ
उत्तर
var myArray = GetSomeArray();
myArray = myArray.Skip(1).ToArray();
ध्यान दें कि मैं .ToArray बुला से बच जाएंगे() जितना संभव हो उतना और नेट में बजाय IEnumerable<T>
उपयोग करने के लिए चिपके रहते हैं।
लेकिन ... यदि आप ऊपर के रूप में ToArray को कॉल करने जा रहे हैं, तो शायद यह ऐरे का उपयोग करने के लिए अधिक कुशल है। कॉपी क्योंकि मुझे विश्वास नहीं है कि ToArray को लंबाई -1 पर सरणी को प्रारंभ करने के लिए इसके इनपुट के बारे में पर्याप्त जानकारी होगी। – Josh
@ जोश: यह सच है (मुझे लगता है कि 'ToArray' आंतरिक रूप से' सूची 'का निर्माण करके और * उस * पर' ToArray' को कॉल करके) काम करेगा, लेकिन यह बेहतर होगा कि आप 'ToArray' को बिल्कुल भी कॉल न करें, अगर आप करने की ज़रूरत नहीं थी –
var array1 = new int[] { 1, 2, 3, 4, 5, 6 };
var array2 = new int[array1.Length - 1];
Array.Copy(array1, 1, array2, 0, array2.Length);
// array2 now contains {2, 3, 4, 5, 6}
संपादित: क्योंकि यह मतलब है कि आप सरणियों का उपयोग पूरी तरह से बच सकते हैं जोएल Coehoorn का जवाब, बेहतर है!
लॉल मुझे पुराने स्कूल कहते हैं, लेकिन हे वैध है!
for(int i = 1; i<array.length;i++)
{
array2[i-1]=array[i];
}
: पी
या आप उन्हें उत्पन्न हो सकते हैं अगर वे एक विधि में थे और आप सिर्फ उन्हें कॉल करने के लिए की जरूरत है, यह सिर्फ तुम क्या पूंछ के साथ क्या करना चाहते हैं पर निर्भर करते हैं।
for(int i = 1; i<array.length;i++)
{
yield return array[i];
}
मैं codeka के जवाब पसंद करते हैं, क्योंकि यह बहुत स्पष्ट काम करने के लिए सबसे कारगर तरीका है, और शायद। हालांकि, जैसा कि आप देख सकते हैं, जब आपको इसकी आवश्यकता होती है तो इसे लागू करने के लिए सबसे आसान नहीं है।
मुझे एक विस्तार विधि के रूप में बहुत कुछ मिल गया है, इसलिए आप SubArray को कॉल कर सकते हैं, और यह एक स्ट्रिंग पर सबस्ट्रिंग की तरह व्यवहार करेगा।
कुछ की तरह:
public static T[] SubArray<T>(this T[] array, int startIndex, int length)
{
// various null, empty, out of range checks here
T[] returnArray = new T[length];
Array.Copy(array, startIndex, returnArray, 0, length);
return returnArray;
}
var array1 = new[] { 1, 2, 3, 4, 5 };
var arrays2 = array1.SubArray(2, 3);
आप इस तरह के रूप में कुछ अन्य भार के, को लागू कर सकते हैं:
public static T[] SubArray<T>(this T[] array, int startIndex)
{
// null check here
return SubArray(array, startIndex, array.Length - startIndex);
}
using System.Linq;
var array = new [] { 1, 2, 3, 4 };
var tail = array.Reverse().Take (array.Length - 1).Reverse();
- 1. इंटरप्ट्स की पूंछ-श्रृंखला
- 2. द्विआधारी "पूंछ" एक फ़ाइल
- 3. क्या पूंछ रिकर्सन को एक संचयक की आवश्यकता है?
- 4. पूंछ gvim
- 5. urlencode मानों की एक सरणी
- 6. कैसे FileInfo की एक सरणी []
- 7. एक सरणी प्रकार की घोषणा
- 8. कार्यों की एक टाइप की गई सरणी
- 9. कैसे पूंछ का उपयोग कर "पूंछ -1 */फ़ाइल नाम"
- 10. पूंछ-एफ वेबब्रोसर में
- 11. पूंछ पुनरावर्ती क्रिया OCaml
- 12. UIButton पूंछ काट-छांट
- 13. रंगीन पूंछ आउटपुट
- 14. uilabel पूंछ truncation
- 15. यूनिक्स रीडायरेक्ट पूंछ फ़ाइल
- 16. सी पूंछ कॉल अनुकूलन
- 17. एफ # पूंछ-रिकर्सिव
- 18. सरणी की एक सरणी पर पुनरावृत्ति कैसे करें
- 19. एक सहयोगी सरणी से मूल्यों की सरणी कैसे प्राप्त करें?
- 20. फ़्लोट्स की एक सरणी में हस्ताक्षरित वर्णों की एक सरणी कास्टिंग
- 21. कुत्तों की एक सरणी को एक हैश में tuples की रूबी सरणी कनवर्ट करें?
- 22. क्लोजर: रिकूर के लिए पूंछ की स्थिति क्या है?
- 23. पूर्णांक (स्कैला) के जोड़े की पूंछ-पुनरावर्ती बाध्य धारा?
- 24. सरणी एक और सरणी
- 25. php में तर्क की एक सरणी खोल
- 26. पायथन 3 बाइट्स की एक सरणी बनाना
- 27. वस्तु एक सरणी की तरह अभिनय? (PHP)
- 28. एक सरणी सूची की औसत गणना?
- 29. सी # सरणियों की एक सरणी बनाना
- 30. मेमोरीस्ट्रीम बाइट्स की एक सरणी बनाम
वहाँ अपने प्रश्न के कई व्याख्याएं हैं: आप सरणी की एक प्रतिलिपि चाहते हैं तत्वों? क्या आप मूल सरणी पर फिर से शुरू करना चाहते हैं, पहले छोड़ना चाहते हैं? –