Dela via


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 Stringfö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ända Char 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ör Char i din nya Visual Basic-kod.

  • Breddning. Datatypen Char breddas till String. Det innebär att du kan konvertera Char till String 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 till Char datatypen. Char har inget tecken av identifierartyp.

  • Ramverkstyp. Motsvarande typ i .NET Framework är System.Char strukturen.

Se även