मेरे पास dynamic
ऑब्जेक्ट है जो कभी-कभी object
होता है और कभी-कभी object[]
होता है।कैसे जांचें कि एक गतिशील वस्तु सी # में एक सरणी है या नहीं?
मैं कैसे जांच सकता हूं कि डायनामिक ऑब्जेक्ट एक सरणी है या नहीं?
मेरे पास dynamic
ऑब्जेक्ट है जो कभी-कभी object
होता है और कभी-कभी object[]
होता है।कैसे जांचें कि एक गतिशील वस्तु सी # में एक सरणी है या नहीं?
मैं कैसे जांच सकता हूं कि डायनामिक ऑब्जेक्ट एक सरणी है या नहीं?
उपयोग Type.IsArray
:
MSDN से:
int [] array = {1,2,3,4};
Type t = array.GetType();
// t.IsArray == true
Console.WriteLine("The type is {0}. Is this type an array? {1}", t, t.IsArray);
क्यों नहीं बस ऑपरेटर 'है' (मैं सिर्फ विजुअल स्टूडियो डीबगर के तत्काल खिड़कियों पर त्वरित परीक्षण किया था), और यह काम करता है। लेकिन यह सुनिश्चित नहीं है कि टिम का जवाब इष्टतम है या नहीं।
void foo(object o)
{
if(o is System.Array)
{
//its array
}
}
आप सही हैं, मैंने सोचा था कि यह काम नहीं करेगा क्योंकि यह गतिशील है (गेट टाइप टाइप इंटेलिजेंस पर नहीं दिखाया गया है ...), लेकिन संकलन के बाद यह ठीक काम करता है। धन्यवाद – RollRoll