2012-05-05 12 views
11

के माध्यम से मानों की एक श्रृंखला के साथ आबादी वाली एक सरणी बनाएं, मान लीजिए कि मेरे पास पूर्णांक चर x और y है, और मैं मान x के साथ मानों के साथ एक सरणी चाहता हूं। क्या सी # का उपयोग करके इस इनलाइन को करने का कोई अच्छा तरीका है?वाई

मैं जानता हूँ कि मैं एक विस्तार पद्धति का उपयोग करके इस लक्ष्य को हासिल कर सकते हैं:

public static int[] ExpandToArray(this int x, int y) 
{ 
    var arr = int[y - x + 1]; 
    for (int i = x; i <= y; i++) 
    { 
     arr[i-x] = i; 
    } 
    return arr; 
} 

और फिर इसका इस्तेमाल लिखने के लिए:

x.ExpandToArray(y); 

वहाँ एक अंतर्निहित रास्ता नहीं है (एक विस्तार विधि बनाने के बिना) .NET में x.ExpandToArray(y) जैसे कुछ लिखने के लिए?

+1

आइटम की संख्या तय होने और ज्ञात होने पर सूची का उपयोग क्यों करें? – harold

+0

@harold अच्छी बात ... – McGarnagle

+0

@harold हालांकि इसे फिर से लिखने के बाद, चर के झुंड को देखते हुए मुझे सिरदर्द मिलता है। – McGarnagle

उत्तर

25
int[] numbers = Enumerable.Range(x, y - x + 1).ToArray(); 

पैरामीटर # 1 मूल्य शुरू है। पैरामीटर # 2 गिनती है।

+0

अच्छा! धन्यवाद। मुझे लगा कि ऐसा कुछ अस्तित्व में था। – McGarnagle

+0

यदि param 2 गिनती है, तो यह 'y - x + 1' नहीं होना चाहिए। यदि आप 4 से 4 के मान चाहते थे, तो गणना 1 होना चाहिए, शून्य नहीं। –

+0

@Sahuagin इसके लिए धन्यवाद, आप सही हैं। फिक्स्ड। – SimpleVar

संबंधित मुद्दे