मेरे पास वैश्विक चर int[]
है और मैं इसके डेटा को साफ़ करना चाहता हूं और इसे लूप में फिर से भरना चाहता हूं।एक सरणी को साफ़ करने के लिए कैसे करें
सी # में यह कैसे संभव हो सकता है?
मेरे पास वैश्विक चर int[]
है और मैं इसके डेटा को साफ़ करना चाहता हूं और इसे लूप में फिर से भरना चाहता हूं।एक सरणी को साफ़ करने के लिए कैसे करें
सी # में यह कैसे संभव हो सकता है?
इसके बजाय सूची का उपयोग करना आसान नहीं होगा।
public List<int> something = new List<int>();
और फिर:
something.Add(somevalue);
और स्पष्ट करने के लिए:
something.Clear();
मुझे int से नफरत है []। मुझे सूची
-1: आपको कोई जानकारी नहीं है कि सूची का उपयोग करना आसान होगा! प्रश्न सरणी के बारे में है। – Adrian
@ एड्रियन: यह संभव है कि ओपी सूची <> से परिचित न हो। यह बहुत अच्छा होगा कि हम बेहतर विकल्प सुझाते हैं। इसमें कुछ भी गलत नहीं है। इस उत्तर के लिए +1। – Nayan
int[] x
int[] array_of_new_values
for(int i = 0 ; i < x.Length && i < array_of_new_values.Length ;i++)
{
x[i] = array_of_new_values[i]; // this will give x[i] its new value
}
इसे क्यों साफ़ करें? बस नए मान असाइन करें।
मैं कई कारण देख सकता हूं कि आप क्लीन शून्य किए गए सरणी क्यों चाहते हैं, उदाहरण के लिए डिबगिंग, सरणी में जाने वाले डेटा को ओवरराइटिंग डेटा की तुलना में मॉनीटर करना अधिक आसान होगा। – Adrian
मैं कुछ मान बदलता हूं और दूसरा "0" होना चाहिए। मैं इसे इस तरह से कर सकता हूं लेकिन मैं 1 लाइन कोड की तलाश में था। – LIX
यह आपकी पोस्ट के लिए सही जवाब नहीं है, लेकिन आप अपनी जरूरत के अनुसार इस तर्क का उपयोग कर सकते हैं। यहाँ एक कोड के टुकड़े से here
using System;
class ArrayClear
{
public static void Main()
{
int[] integers = { 1, 2, 3, 4, 5 };
DumpArray ("Before: ", integers);
Array.Clear (integers, 1, 3);
DumpArray ("After: ", integers);
}
public static void DumpArray (string title, int[] a)
{
Console.Write (title);
for (int i = 0; i < a.Length; i++)
{
Console.Write("[{0}]: {1, -5}", i, a[i]);
}
Console.WriteLine();
}
}
लिया जाता है और इस बात का उत्पादन होता है:
Before: [0]: 1 [1]: 2 [2]: 3 [3]: 4 [4]: 5
After: [0]: 1 [1]: 0 [2]: 0 [3]: 0 [4]: 5
स्थिर Array.Clear()
विधि "गलत पर, शून्य करने के लिए सरणी में तत्वों की एक सीमा निर्धारित करता है, या करने के लिए तत्व प्रकार के आधार पर कुछ भी नहीं "। आप अपने पूरे सरणी साफ़ करना चाहते हैं, तो आप इस विधि का उपयोग एक 0
शुरू सूचकांक के रूप में और myArray.Length
लंबाई के रूप में यह प्रदान कर सकता है:
Array.Clear(myArray, 0, myArray.Length);
यह विधि अक्षरशः सरणी को साफ़ नहीं करती है, लेकिन सरणी में प्रत्येक तत्व के लिए बस 0/false/null सेट करें। –
@ 1_bug संभवतः "समाशोधन" और क्या हो सकता है? – Nyerguds
क्यों न सिर्फ नई सरणी बना सकते हैं और मौजूदा सरणी चर के लिए असाइन करें?
x = new int[x.length];
क्योंकि इसका मतलब है कि कचरा कलेक्टर के पास अतिरिक्त मेमोरी है जो आप स्मृति में पीछे छोड़ देते हैं। – Nyerguds
दो आयामी सरणी के लिए, आप के रूप में bellow करना चाहिए:
Array.Clear(myArray, 0, myArray.GetLength(0)*myArray.GetLength(1));
आप सी # में एक वैश्विक चर कैसे हो सकती है? –
@rep_movsd यह एक और सवाल है;) lol –
क्या लूप के प्रत्येक पुनरावृत्ति में तत्वों की संख्या बदलती है? कुछ कोड देखना अच्छा होगा। –