Visual Basic .NET Language
ऑप्शन Infer
खोज…
यह क्या है?
चरों को घोषित करने में स्थानीय प्रकार के अनुमान का उपयोग करने में सक्षम बनाता है।
प्रकार का अनुमान क्या है?
आप डेटा प्रकार को स्पष्ट रूप से बताए बिना स्थानीय चर घोषित कर सकते हैं। कंपाइलर अपनी इनिशियलाइज़ेशन एक्सप्रेशन के प्रकार से एक वैरिएबल के डेटा टाइप को संक्रमित करता है।
विकल्प का संदर्भ लें :
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 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