खोज…


वाक्य - विन्यास

  • इंटेगर के रूप में पब्लिक काउंटर
  • इंटीजर के रूप में निजी _काउंटर
  • दिम काउंटर इंटेगर के रूप में

एक आदिम प्रकार का उपयोग करके एक चर की घोषणा और असाइन करना

विजुअल बेसिक में चर को Dim कीवर्ड का उपयोग करके घोषित किया जाता है। उदाहरण के लिए, इस नाम से एक नए चर वाणी counter डेटा प्रकार के साथ Integer :

Dim counter As Integer

एक चर घोषणा में Public , Protected , Friend , या Private जैसे पहुँच संशोधक भी शामिल हो सकते हैं। यह चर की गुंजाइश के साथ मिलकर काम करता है ताकि इसकी पहुंच निर्धारित की जा सके।

पहुँच संशोधक अर्थ
जनता सभी प्रकार जो संलग्नक प्रकार तक पहुंच सकते हैं
संरक्षित केवल एनक्लोजिंग वर्ग और वे जो इसे प्राप्त करते हैं
मित्र एक ही असेंबली में सभी प्रकार जो एन्क्लोज़िंग प्रकार तक पहुँच सकते हैं
रक्षित मित्र संलग्नक वर्ग और इसके उत्तराधिकारी, या एक ही विधानसभा में प्रकार जो संलग्नक वर्ग तक पहुंच सकते हैं
निजी केवल संलग्न प्रकार
स्थिर केवल स्थानीय चर पर और केवल एक बार ही आरंभ होता है।

शॉर्टहैंड के रूप में, Dim कीवर्ड को वेरिएबल डिक्लेरेशन में एक्सेस मॉडिफायर से बदला जा सकता है:

Public TotalItems As Integer
Private counter As Integer

समर्थित डेटा प्रकार नीचे दी गई तालिका में दिए गए हैं:

प्रकार उपनाम स्मृति आवंटन उदाहरण
SByte एन / ए 1 बाइट Dim example As SByte = 10
int16 कम 2 बाइट्स Dim example As Short = 10
int32 पूर्णांक 4 निवाले Dim example As Integer = 10
Int64 लंबा 8 बाइट्स Dim example As Long = 10
एक एन / ए 4 निवाले Dim example As Single = 10.95
दोहरा एन / ए 8 बाइट्स Dim example As Double = 10.95
दशमलव एन / ए 16 बाइट्स Dim example As Decimal = 10.95
बूलियन एन / ए प्लेटफ़ॉर्म लागू करके तय किया गया Dim example As Boolean = True
चार एन / ए 2 बाइट्स Dim example As Char = "A"C
तार एन / ए सूत्र स्रोत Dim example As String = "Stack Overflow"
दिनांक और समय दिनांक 8 बाइट्स Dim example As Date = Date.Now
बाइट एन / ए 1 बाइट Dim example As Byte = 10
UInt16 UShort 2 बाइट्स Dim example As UShort = 10
UInt32 UInteger 4 निवाले Dim example As UInteger = 10
UInt64 Ulong 8 बाइट्स Dim example As ULong = 10
वस्तु एन / ए 4 बाइट्स 32 बिट आर्किटेक्चर, 8 बाइट्स 64 बिट आर्किटेक्चर Dim example As Object = Nothing

शाब्दिक प्रकार और / या शाब्दिक प्रकार को लागू करने के लिए प्रतिस्थापन में प्रयोग करने योग्य डेटा पहचानकर्ता और शाब्दिक प्रकार के अक्षर भी मौजूद हैं:

प्रकार (या उपनाम) पहचानकर्ता प्रकार चरित्र शाब्दिक प्रकार का चरित्र
कम एन / ए example = 10S
पूर्णांक Dim example% example = 10% या example = 10I
लंबा Dim example& example = 10& या example = 10L
एक Dim example! example = 10! या example = 10F
दोहरा Dim example# example = 10# या example = 10R
दशमलव Dim example@ example = 10@ या example = 10D
चार एन / ए example = "A"C
तार Dim example$ एन / ए
UShort एन / ए example = 10US
UInteger एन / ए example = 10UI
Ulong एन / ए example = 10UL

अभिन्न प्रत्यय भी हेक्साडेसिमल (& H) या ऑक्टल (& O) उपसर्गों के साथ प्रयोग करने योग्य हैं:
example = &H8000S या example = &O77&

दिनांक (समय) ऑब्जेक्ट को शाब्दिक सिंटैक्स का उपयोग करके भी परिभाषित किया जा सकता है:
Dim example As Date = #7/26/2016 12:8 PM#

एक बार एक चर घोषित होने के बाद, यह उदाहरण के रूप में, Sub या Function के स्कोप के भीतर मौजूद होगा:

Public Function IncrementCounter() As Integer
    Dim counter As Integer = 0
    counter += 1

    Return counter
End Function

काउंटर वैरिएबल केवल End Function तक मौजूद रहेगा और फिर स्कोप से बाहर हो जाएगा। यदि फ़ंक्शन के बाहर इस काउंटर चर की आवश्यकता होती है, तो आपको इसे कक्षा / संरचना या मॉड्यूल स्तर पर परिभाषित करना होगा।

Public Class ExampleClass

    Private _counter As Integer
   
    Public Function IncrementCounter() As Integer
       _counter += 1
       Return _counter
    End Function

End Class

वैकल्पिक रूप से, आप Static उपयोग कर सकते हैं ( Shared साथ भ्रमित नहीं होने के लिए) संशोधक को एक स्थानीय चर की अनुमति देने के लिए इसकी संलग्न पद्धति के कॉल के बीच मान बनाए रखने की अनुमति देने के लिए:

Function IncrementCounter() As Integer
    Static counter As Integer = 0
    counter += 1

    Return counter
End Function

घोषणा के स्तर - स्थानीय और सदस्य चर

स्थानीय चर - वे एक वर्ग (या अन्य संरचना) की एक प्रक्रिया (सबरूटीन या फ़ंक्शन) के भीतर घोषित किए जाते हैं। इस उदाहरण में, exampleLocalVariable एक स्थानीय चर के भीतर घोषित है ExampleFunction() :

Public Class ExampleClass1

    Public Function ExampleFunction() As Integer
        Dim exampleLocalVariable As Integer = 3
        Return exampleLocalVariable
    End Function

End Class

Static कीवर्ड एक स्थानीय चर को बनाए रखने की अनुमति देता है और समाप्ति के बाद इसका मूल्य रखता है (जहां आमतौर पर, स्थानीय चर मौजूद होने पर समाप्त हो जाता है जब युक्त प्रक्रिया समाप्त हो जाती है)।

इस उदाहरण में, कंसोल 024ExampleSub() लिए प्रत्येक कॉल पर ExampleSub() Main() से स्थिर वैरिएबल पिछली कॉल के अंत में मौजूद मूल्य को बरकरार रखता है:

Module Module1

    Sub Main()
        ExampleSub()
        ExampleSub()
        ExampleSub()
    End Sub

    Public Sub ExampleSub()
        Static exampleStaticLocalVariable As Integer = 0
        Console.Write(exampleStaticLocalVariable.ToString)
        exampleStaticLocalVariable += 2
    End Sub

End Module

सदस्य चर - वर्ग (या अन्य संरचना) स्तर पर, किसी भी प्रक्रिया के बाहर घोषित। वे उदाहरण चर हो सकते हैं, जिसमें युक्त वर्ग के प्रत्येक उदाहरण की उस चर, या Shared चर की अपनी अलग प्रतिलिपि होती है, जो कि किसी भी उदाहरण से स्वतंत्र एकल वर्ग के रूप में मौजूद होती है।

यहां, ExampleClass2 में दो सदस्य चर हैं। के प्रत्येक उदाहरण ExampleClass2 एक व्यक्ति है ExampleInstanceVariable वर्ग संदर्भ के माध्यम से पहुँचा जा सकता है जो। साझा चर ExampleSharedVariable वैरिएबल हालांकि वर्ग नाम का उपयोग करके एक्सेस किया गया है:

Module Module1

    Sub Main()

        Dim instance1 As ExampleClass4 = New ExampleClass4
        instance1.ExampleInstanceVariable = "Foo"

        Dim instance2 As ExampleClass4 = New ExampleClass4
        instance2.ExampleInstanceVariable = "Bar"

        Console.WriteLine(instance1.ExampleInstanceVariable)
        Console.WriteLine(instance2.ExampleInstanceVariable)
        Console.WriteLine(ExampleClass4.ExampleSharedVariable)

    End Sub

    Public Class ExampleClass4

        Public ExampleInstanceVariable As String
        Public Shared ExampleSharedVariable As String = "FizzBuzz"

    End Class

End Module

एक्सेस संशोधक का उदाहरण

निम्नलिखित उदाहरण में विचार करें कि आपके पास दो परियोजनाओं की मेजबानी करने का एक समाधान है: ConsoleApplication1 और SampleClassLibrary । पहली परियोजना में सैंपलक्लास 1 और सैंपलक्लास 2 होंगी । दूसरे के पास सैंपलक्लास 3 और सैंपलक्लास 4 होंगे । दूसरे शब्दों में, हमारे पास दो वर्गों के साथ दो विधानसभाएं हैं। ConsoleApplication1 में SampleClassLibrary का संदर्भ है।

देखें कि कैसे SampleClass1.MethodA अन्य वर्गों और विधियों के साथ बातचीत करता है।

SampleClass1.vb:

Imports SampleClassLibrary

Public Class SampleClass1
    Public Sub MethodA()
        'MethodA can call any of the following methods because
        'they all are in the same scope.
        MethodB()
        MethodC()
        MethodD()
        MethodE()

        'Sample2 is defined as friend. It is accessible within
        'the type itself and all namespaces and code within the same assembly.
        Dim class2 As New SampleClass2() 
        class2.MethodA()
        'class2.MethodB() 'SampleClass2.MethodB is not accessible because
                          'this method is private. SampleClass2.MethodB
                          'can only be called from SampleClass2.MethodA,
                          'SampleClass2.MethodC, SampleClass2.MethodD
                          'and SampleClass2.MethodE
        class2.MethodC()
        'class2.MethodD() 'SampleClass2.MethodD is not accessible because
                          'this method is protected. SampleClass2.MethodD
                          'can only be called from any class that inherits
                          'SampleClass2, SampleClass2.MethodA, SampleClass2.MethodC,
                          'SampleClass2.MethodD and SampleClass2.MethodE
        class2.MethodE()

        Dim class3 As New SampleClass3() 'SampleClass3 resides in other
                                         'assembly and is defined as public.
                                         'It is accessible anywhere.
        class3.MethodA()
        'class3.MethodB() 'SampleClass3.MethodB is not accessible because
                          'this method is private. SampleClass3.MethodB can
                          'only be called from SampleClass3.MethodA,
                          'SampleClass3.MethodC, SampleClass3.MethodD
                          'and SampleClass3.MethodE

        'class3.MethodC() 'SampleClass3.MethodC is not accessible because
                          'this method is friend and resides in another assembly.
                          'SampleClass3.MethodC can only be called anywhere from the
                          'same assembly, SampleClass3.MethodA, SampleClass3.MethodB,
                          'SampleClass3.MethodD and SampleClass3.MethodE

        'class4.MethodD() 'SampleClass3.MethodE is not accessible because
                          'this method is protected friend. SampleClass3.MethodD
                          'can only be called from any class that resides inside
                          'the same assembly and inherits SampleClass3,
                          'SampleClass3.MethodA, SampleClass3.MethodB,
                          'SampleClass3.MethodC and SampleClass3.MethodD      

        'Dim class4 As New SampleClass4() 'SampleClass4 is not accessible because
                                          'it is defined as friend and resides in
                                          'other assembly.
    End Sub

    Private Sub MethodB()
        'Doing MethodB stuff...
    End Sub

    Friend Sub MethodC()
        'Doing MethodC stuff...
    End Sub

    Protected Sub MethodD()
        'Doing MethodD stuff...
    End Sub

    Protected Friend Sub MethodE()
        'Doing MethodE stuff...
    End Sub
End Class

SampleClass2.vb:

Friend Class SampleClass2
    Public Sub MethodA()
        'Doing MethodA stuff...
    End Sub

    Private Sub MethodB()
        'Doing MethodB stuff...
    End Sub

    Friend Sub MethodC()
        'Doing MethodC stuff...
    End Sub

    Protected Sub MethodD()
        'Doing MethodD stuff...
    End Sub

    Protected Friend Sub MethodE()
        'Doing MethodE stuff...
    End Sub
End Class

SampleClass3.vb:

Public Class SampleClass3
    Public Sub MethodA()
        'Doing MethodA stuff...
    End Sub
    Private Sub MethodB()
        'Doing MethodB stuff...
    End Sub

    Friend Sub MethodC()
        'Doing MethodC stuff...
    End Sub

    Protected Sub MethodD()
        'Doing MethodD stuff...
    End Sub

    Protected Friend Sub MethodE()
        'Doing MethodE stuff...
    End Sub
End Class

SampleClass4.vb:

Friend Class SampleClass4
    Public Sub MethodA()
        'Doing MethodA stuff...
    End Sub
    Private Sub MethodB()
        'Doing MethodB stuff...
    End Sub

    Friend Sub MethodC()
        'Doing MethodC stuff...
    End Sub

    Protected Sub MethodD()
        'Doing MethodD stuff...
    End Sub

    Protected Friend Sub MethodE()
        'Doing MethodE stuff...
    End Sub
End Class


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