खोज…


यह क्या है?

चरों को घोषित करने में स्थानीय प्रकार के अनुमान का उपयोग करने में सक्षम बनाता है।

प्रकार का अनुमान क्या है?

आप डेटा प्रकार को स्पष्ट रूप से बताए बिना स्थानीय चर घोषित कर सकते हैं। कंपाइलर अपनी इनिशियलाइज़ेशन एक्सप्रेशन के प्रकार से एक वैरिएबल के डेटा टाइप को संक्रमित करता है।

विकल्प का संदर्भ लें :

Dim aString  = "1234" '--> Will be treated as String by the compiler
Dim aNumber  = 4711   '--> Will be treated as Integer by the compiler

बनाम स्पष्ट प्रकार की घोषणा:

'State a type explicitly
Dim aString as String = "1234"
Dim aNumber as Integer = 4711

विकल्प का संदर्भ बंद करें:
Option Infer Off साथ संकलक व्यवहार Option Strict सेटिंग पर निर्भर करता है जो पहले से ही यहां प्रलेखित है

  • ऑप्शन इनफेर ऑफ - ऑप्शन स्ट्रिक्ट ऑफ
    बिना स्पष्ट प्रकार की घोषणा के सभी चर Object रूप में घोषित किए जाते हैं।

    Dim aString  = "1234" '--> Will be treated as Object by the compiler
    
  • ऑप्शन इनफेर ऑफ - ऑप्शन स्ट्रिक्ट ऑन
    संकलक ने आपको एक स्पष्ट प्रकार के बिना एक चर घोषित नहीं करने दिया।

    'Dim aString  = "1234" '--> Will not compile due to missing type in declaration
    

इसे सक्षम / अक्षम कैसे करें

दस्तावेज़ स्तर

यह डिफ़ॉल्ट रूप से चालू है, लेकिन आप इसे कोड फ़ाइल के शीर्ष Option Infer On|Off रखकर सेट कर सकते हैं। विकल्प पूरे दस्तावेज़ पर लागू होगा।

परियोजना स्तर

आप दृश्य स्टूडियो में मेनू के माध्यम से इसे चालू / बंद कर सकते हैं:

परियोजना> [परियोजना] गुण> संकलन टैब> विकल्प अवर

ड्रॉप-डाउन मेनू में On|Off - On|Off चुनें। विकल्प पूरे दस्तावेज़ पर लागू होगा।

सभी नए प्रोजेक्ट

आप इसे चुनकर सभी नई परियोजनाओं के लिए डिफ़ॉल्ट रूप से चालू कर सकते हैं:

उपकरण> विकल्प> परियोजनाएं और समाधान> VB चूक> विकल्प Infer

ड्रॉप-डाउन मेनू में On|Off - On|Off चुनें।

टाइप इंट्रेंस का उपयोग कब करें

मूल रूप से जब भी संभव हो आप टाइप इंट्रेंस का उपयोग कर सकते हैं।
हालांकि, Option Infer Off और Option Strict Off मिलाते समय सावधान रहें, क्योंकि इससे अवांछित रन-टाइम व्यवहार हो सकता है:

Dim someVar = 5
someVar.GetType.ToString() '--> System.Int32
someVar = "abc"
someVar.GetType.ToString() '--> System.String

अनाम प्रकार
अनाम प्रकारों को केवल Option Infer On साथ घोषित किया जा सकता है।
LINQ से निपटने के दौरान उनका उपयोग अक्सर किया जाता है:

Dim countryCodes = New List(Of String)
countryCodes.Add("en-US")
countryCodes.Add("en-GB")
countryCodes.Add("de-DE")
countryCodes.Add("de-AT")

Dim q = From code In countryCodes
        Let split = code.Split("-"c)
        Select New With {.Language = split(0), .Country = split(1)}
  • ऑप्शन Infer On
    संकलक अनाम प्रकार को पहचान लेगा: बेनामी टाइप - ऑप्शन ऑनर

  • ऑप्शन Infer Off
    कंपाइलर या तो एक त्रुटि फेंक देगा ( Option Strict On साथ)
    या q को object रूप में object ( Option Strict Off )।
    दोनों मामले उस परिणाम का उत्पादन करेंगे जो आप गुमनाम प्रकार का उपयोग नहीं कर सकते।


डबल्स / दशमलव
दशमलव स्थानों के साथ संख्यात्मक चर को डिफ़ॉल्ट रूप से Double रूप में अनुमानित किया जाएगा:

Dim aNumber = 44.11 '--> Will be treated as type `Double` by the compiler

यदि Decimal जैसा कोई अन्य प्रकार वह मान है जिसे वैरिएबल को चिह्नित करने की आवश्यकता होती है:

Dim mDecimal = 47.11D '--> Will be treated as type `Decimal` by the compiler


Modified text is an extract of the original Stack Overflow Documentation
के तहत लाइसेंस प्राप्त है CC BY-SA 3.0
से संबद्ध नहीं है Stack Overflow