Teckendatatyp (Visual Basic)
Innehåller osignerade 16-bitars (2 byte) kodpunkter som sträcker sig i värde från 0 till 65535. Varje kodpunkt, eller teckenkod, representerar ett enda Unicode-tecken.
Kommentarer
Char
Använd datatypen när du bara behöver innehålla ett enda tecken och inte behöver omkostnaderna String
för . I vissa fall kan du använda Char()
, en matris med Char
element, för att lagra flera tecken.
Standardvärdet Char
för är tecknet med kodpunkten 0.
Unicode-tecken
De första 128 kodpunkterna (0–127) i Unicode motsvarar bokstäverna och symbolerna på ett vanligt amerikanskt tangentbord. De första 128 kodpunkterna är samma som de som ASCII-teckenuppsättningen definierar. De andra 128 kodpunkterna (128–255) representerar specialtecken, till exempel latinska alfabetbeteckningar, accenter, valutasymboler och bråktal. Unicode använder de återstående kodpunkterna (256-65535) för en mängd olika symboler, inklusive globala texttecken, diakritiska tecken och matematiska och tekniska symboler.
Du kan använda metoder som IsDigit och IsPunctuation på en Char
variabel för att fastställa dess Unicode-klassificering.
Typkonverteringar
Visual Basic konverterar inte direkt mellan Char
och de numeriska typerna. Du kan använda Asc funktionen eller AscW för att konvertera ett Char
värde till en Integer
som representerar dess kodpunkt. Du kan använda Chr funktionen eller ChrW för att konvertera ett Integer
värde till en Char
som har den kodpunkten.
Om typkontrollväxeln ( alternativet Strikt instruktion) är på måste du lägga till teckentypen literal till en strängliteral med ett tecken för att identifiera den som Char
datatyp. I följande exempel visas detta. Den första tilldelningen till variabeln charVar
genererar kompilatorfel BC30512 eftersom Option Strict
är på. Den andra kompileras eftersom c
teckentypen literal identifierar literalen som ett Char
värde.
Option Strict On
Module CharType
Public Sub Main()
Dim charVar As Char
' This statement generates compiler error BC30512 because Option Strict is On.
charVar = "Z"
' The following statement succeeds because it specifies a Char literal.
charVar = "Z"c
End Sub
End Module
Programmeringstips
Negativa tal.
Char
är en osignerad typ och kan inte representera ett negativt värde. I vilket fall som helst bör du inte användaChar
för att lagra numeriska värden.Interop-överväganden. Om du använder gränssnitt med komponenter som inte är skrivna för .NET Framework, till exempel Automation- eller COM-objekt, bör du komma ihåg att teckentyper har en annan databredd (8 bitar) i andra miljöer. Om du skickar ett 8-bitarsargument till en sådan komponent deklarerar du det som
Byte
i stället förChar
i din nya Visual Basic-kod.Breddning. Datatypen
Char
breddas tillString
. Det innebär att du kan konverteraChar
tillString
och inte kommer att stöta på en System.OverflowException.Skriv tecken. Om du lägger till teckentypen
C
literal till en strängliteral med ett tecken tvingar det tillChar
datatypen.Char
har inget tecken av identifierartyp.Ramverkstyp. Motsvarande typ i .NET Framework är System.Char strukturen.