सभी तत्वों को प्राप्त करें, लेकिन एक सरणी से पहला


130

क्या पहले तत्व को छोड़कर एक साधारण सरणी से सब कुछ प्राप्त करने के लिए एक-लाइन आसान लाइनक अभिव्यक्ति है?

for (int i = 1; i <= contents.Length - 1; i++)
    Message += contents[i];

मैं सिर्फ यह देखना चाहता था कि क्या यह आसान है।

जवाबों:


244

हाँ, Enumerable.Skip क्या आप चाहते हैं:

contents.Skip(1)

हालाँकि, परिणाम एक IEnumerable <T> है, यदि आप एक सरणी उपयोग प्राप्त करना चाहते हैं:

contents.Skip(1).ToArray()

संरचना के contentsएक नए उदाहरण में सरणी को लपेटना भी संभव है ArraySegment<>। समय ऊपर जवाब लिखा गया था, कि विशेष रूप से उपयोगी नहीं था, लेकिन .NET 4.5 के बाद से ArraySegment<>लागू करता IList<>, IReadOnlyList<>और (सहित अपने आधार इंटरफेस IEnumerable<>) है, तो आप उदाहरण के लिए एक पारित कर सकते हैं ArraySegment<>करने के लिए string.Join
जेपी स्टिग नीलसन

जितना मैं Linq से नफरत करता हूं, मैंने फैसला किया कि मैं इसे बर्दाश्त कर सकता हूं, केवल इसलिए कि यह एक स्थिर निर्माणकर्ता में चलाया जा रहा है, एक बार आवेदन बूट के अनुसार, इसलिए प्रदर्शन ओवरहेड न के बराबर है।
क्रीथिक

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.