2009-06-11 13 views
6

कैसे बता सकता है कि मेरे ऑब्जेक्ट का मूल्य एक फ्लोट या int है या नहीं?कैसे बता सकता है कि मेरे ऑब्जेक्ट का मूल्य एक फ्लोट या int है या नहीं?

उदाहरण के लिए, मैं इसे बूल वैल्यू वापस करने के लिए चाहूंगा।

+0

हम क्रम में अधिक जानकारी की आवश्यकता के लिए जा रहे है इसका उत्तर देने के लिए ... मूल्य कहां से आ रहा है? – chills42

उत्तर

3

क्या आपको स्ट्रिंग फॉर्म में मान मिल रहा है? यदि ऐसा है तो अनजाने में यह बताने का कोई तरीका नहीं है कि यह कौन सा है क्योंकि कुछ निश्चित संख्याएं हैं जिन्हें दोनों प्रकारों (वास्तव में कुछ वास्तव में) द्वारा दर्शाया जा सकता है। लेकिन यह कहना संभव है कि यह एक या दूसरे है या नहीं।

public bool IsFloatOrInt(string value) { 
    int intValue; 
    float floatValue; 
    return Int32.TryParse(value, out intValue) || float.TryParse(value, out floatValue); 
} 
14

मैं तुम्हें की तर्ज पर कुछ तो मतलब संभालने हूँ ...

if (value is int) { 
    //... 
} 

if (value is float) { 
    //... 
} 
4
if (value.GetType() == typeof(int)) { 
    // ... 
} 
+0

यह करने के लिए यह थोड़ा संकलित (और कम कुशल) तरीका है, जब आप 'is' कीवर्ड का उपयोग कर सकते हैं। – Noldorin

+0

@ नोल्डोरिन: सहमत। 'उस मामले के लिए' बूल' या 'int' (या किसी भी' संरचना 'के लिए,' है 'निश्चित रूप से बेहतर है। लेकिन अन्य वर्गों के लिए 'सही' वापस आ जाएगा, भले ही वास्तविक प्रकार एक व्युत्पन्न वर्ग है और सटीक प्रकार नहीं है। –

+0

@ नोल्डोरिन: किसके लिए कम कुशल? आईएल समान नहीं होना चाहिए? –

2

तुम्हारा मतलब एक object कि एक (बॉक्स्ड) float/int है - if(obj is float) आदि

यदि आपका मतलब string है जो या तो हो सकता है ... int.TryParse(string, out int)/float.TryParse(string, out float)

4

Double.TryParse और Int.TryParse आपको जो चाहिए वह हो सकता है, हालांकि यह माना जा रहा है कि आप किसी उपयोगकर्ता द्वारा दी गई स्ट्रिंग के साथ काम कर रहे हैं।

2

विभिन्न प्रकारों पर TryParse विधि एक बूलियन लौटाती है। आप इसे इस तरह का उपयोग कर सकते हैं:

string value = "11"; 
float f; 
int i; 
if (int.TryParse(value, out i)) 
    Console.WriteLine(value + " is an int"); 
else if (float.TryParse(value, out f)) 
    Console.WriteLine(value + " is a float"); 
1

मुझे लगता है कि यू के लिए उपयोगी है यहाँ हम निर्णय लेने से कर रहे हैं वस्तु मूल्य चाहे वह INT है या फ्लोट

public class Program 
    { 
     static void Main() 
     { 
      Console.WriteLine("Please enter Any Number"); 
      object value = Console.ReadLine(); 
      float f; 
      int i; 
      if (int.TryParse(Convert.ToString(value), out i)) 
       Console.WriteLine(value + " is an int"); 
      else if (float.TryParse(Convert.ToString(value), out f)) 
       Console.WriteLine(value + " is a float"); 


      Console.ReadLine(); 
     } 
    } 
संबंधित मुद्दे

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