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.