Visual Basic .NET에서 Char 리터럴을 어떻게 선언합니까?


91

와 함께 Option Strict On:

Dim theLetterA As Char = "A"

문자열 "A"Char.

Char리터럴 을 입력하는 구문은 무엇입니까 ?

답변:


160

문자 리터럴은 접미사가 붙은 단일 문자열을 사용하여 입력됩니다 C.

Dim theLetterA As Char = "A"C

20
정말 짜증나고 모든 컨벤션을 깨뜨립니다! 도움을 주셔서 감사합니다
Alvaro

3
실제로 유형을 나타내는 문자 접미사는 문자열 관련 유형이 아니지만 C 및 Basic만큼 오래되었으며 처음봤을 때 약간 모호하다고 느꼈습니다.
Swanny

9
문자열에서 따옴표를 자르려면 "" ""C를 사용해야했습니다. 얼마나 못 생겼는지.
Matt

13
이로 인해 내가 약간 죽었습니다.
경감 다람쥐

4
소문자 'c'도 작동합니다. 약간 덜 못 생겼습니다. 이것은 예를 들어 파이썬 문자열을 유니 코드 리터럴로 선언하는 것과 크게 다르지 않습니다.
deed02392

5

나는 CChar를 사용할 것입니다. 예 :

 Dim theLetterA As Char = CChar("A")

CChar에 대한 자세한 내용 은 MSDN 웹 사이트 https://msdn.microsoft.com/en-us/library/s2dy91zy.aspx 를 확인하십시오 .


더 많은 찬성 투표가 필요합니다. 문자 배우는 내가 전에 본 적이없는 스트링 데코레이터보다 더 의미가 있습니다.
RJB

19
@RJB : 구문이 더 좋을 수도 있지만 사실 이것은 문자 리터럴 이 아닙니다 . 문자열에서 문자로 런타임 변환을 수행하는 명령문입니다. 전혀 동일하지 않습니다.
sstan dec

2
나는 동의한다. 이것은 오래된 VB 코드이며 visualbasic 참조가 필요합니다. 올바른 방법은 변환 클래스를 사용하는 것입니다. Convert.ToChar ( "A")
Kevbo

@sstan 공식적인 진술은 없지만 컴파일러가 컴파일 타임에 문자 리터럴 ( "A"c)로 시퀀스를 위협 할 가능성이 매우 높습니다.
II ARROWS

@Kevbo-문자 리터럴 대신 여전히 런타임 작업입니다. 아마도 비효율적 일 것입니다. 더 중요한 것은 훨씬 더 장황합니다. Convert.ToChar("A")가독성 이 어떻게 향상 "A"c되었습니까?
ToolmakerSteve

2

큰 따옴표를 문자 리터럴로 가져 오려는 경우 추가 기발한 VB 형식을 사용해야합니다.

Dim theQuote As Char = """"C

또는

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

1
당신의 정의에 따라 읽을 수 있다고 생각합니다. 나는 보통 "매직 넘버"를 직접 피하고 VB 표현식이 기발한 AF이지만 그것이 옳은지 확인하기 위해 ASCII 테이블을 가져올 필요는 없습니다.
andyb

내가 참조. CHAR에 대해 말할 때 ASCII 코드가 "마법"이라고 생각하지 않습니다. CHAR가 보유한 실제 숫자이기 때문입니다. 문자는 숫자입니다. 당신이 메모리를 검사한다면 위해 theQuote당신은 볼 것이다 34.
HackSlash
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.