Visual Basic .NET'te bir Char hazır bilgisini nasıl bildirirsiniz?


91

İle Option Strict On:

Dim theLetterA As Char = "A"

dize dönüştürme hakkında bir hata döndürür "A"bir etmek Char.

CharBirebir girmek için sözdizimi nedir ?

Yanıtlar:


160

Bir karakter değişmezi, son eki olan tek bir karakter dizisi kullanılarak girilir C.

Dim theLetterA As Char = "A"C

20
Bu gerçekten berbat, her kongreyi bozuyor! Yardımınız için teşekkürler
— Alvaro

3
Aslında, türü belirtmek için birebir son ek C ve Basic kadar eskidir, ancak dizelerle ilgili türler için olmasa da, ben de ilk gördüğümde biraz şüpheli olduğunu düşündüm.
— Swanny

9
Bir dizeden alıntıları kırpmak için "" "" C kullanmam gerekiyordu. Ne kadar çirkin.
— Matt

13
Bu beni biraz içten içe öldürdü.
— Inspector Squirrel

4
Küçük 'c' de işe yarar. Biraz daha az çirkin. Bu, örneğin Python dizelerini unicode değişmezleri olarak bildirmekten çok farklı değil, değil mi?
— deed02392

5

CChar kullanırım. Örneğin:

 Dim theLetterA As Char = CChar("A")

CChar ile ilgili ayrıntılar için MSDN web sitesine https://msdn.microsoft.com/en-us/library/s2dy91zy.aspx bakın.


Daha fazla oyu hak ediyor. Bir karakter, daha önce hiç görmediğim bir dizi dekoratöründen daha mantıklı.
— RJB

19
@RJB: Sözdizimini daha çok beğenebilirsiniz, ancak gerçek şu ki bu bir karakter değişmezi değil . Bir dizeden bir karaktere çalışma zamanı dönüşümü gerçekleştiren bir ifadedir. Hiç de aynı değil.
— sstan

2
Katılıyorum. bu eski VB kodudur ve görsel temel referansı gerektirir. Doğru yol, dönüştürme sınıfını kullanmaktır. Convert.ToChar ("A")
— Kevbo

@sstan I'in resmi bir açıklaması yok, ancak derleyicinin bu diziyi derleme zamanında karakter değişmezi ("A" c) olarak tehdit etmesi çok muhtemel.
— II OKLAR

@Kevbo - bu bir karakter değişmezi yerine hala bir çalışma zamanı eylemi. Muhtemelen verimsiz. Daha da önemlisi, çok daha ayrıntılı. Convert.ToChar("A")Okunabilirlik gelişimi nasıl sona erer "A"c?
— ToolmakerSteve

2

Bir karakter değişmezi olarak çift tırnak almaya çalışmanız durumunda, ekstra ilginç VB formatını kullanmanız gerekir:

Dim theQuote As Char = """"C

Veya

Dim theQuote As Char = CChar("""")

1
Okunabilirlik tanımınıza bağlı sanırım. Genellikle "sihirli sayılardan" kaçınırım ve VB ifadesi ilginç AF olmasına rağmen, doğru olup olmadığını kontrol etmek için ASCII tablosunu açmanız gerekmez.
— andyb

Anlıyorum. CHAR'dan bahsederken ASCII kodunun "sihirli" olduğunu düşünmüyorum çünkü CHAR tarafından tutulan gerçek sayı budur. Karakter bir sayıdır. Hafızayı inceleseydin theQuotegörürdün 34.
— HackSlash
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.