2011-03-01 2 views
21

switch documentation을 연구하고 스위치가 켜져있을 수 있다는 것을 발견하면 정수형을 정의하려고합니다. 나는 아무데도 찾을 수 없다. 나는 find a list of integral types 일뿐입니다.Integral Types 란 정확히 무엇입니까?

필자는 정수형이 언어에 통합 된 유형이라고 추측 할 수 있지만 적절한 정의가 있으면 더 행복 할 것입니다. 아무도 없나요?

+0

없음 언어에 통합되어 모든 종류의 (... System.Type 개체) 필수입니다. 근본적으로 유형은 정수형의 목록에있는 경우에 필수적입니다 - 동어 형 정의이지만 그럼에도 불구하고 사실입니다. – SWeko

+0

@SWeko :이 문맥에서 [integral] (http://wordnetweb.princeton.edu/perl/webwn?s=integral)은 "built-in"이 아니라 "of 또는 integer로 표시"를 의미합니다. – configurator

+0

@ configurator : 예, 그게 바로 제가이 코멘트에서 말하고있는 것입니다. – SWeko

답변

25

"정수"는 정수 유형 (즉, 정수)을 나타냅니다.

다음 표는 간단한 형태의 일부를 구성하는 정수형의 크기 범위를 나타낸다 : C 번호 이것은 등 int, long, short,

같은 종류 Integral Types Table (C# Reference)보십시오을 의미한다.

편집 : switch 문뿐만 아니라 리터럴 문자열을 지원하는 명심하십시오.

+2

이 대답을 인용 할 수 있습니까? –

+1

switch 문에서 true/false를 어떻게 테스트 할 수 있습니까? 그것은 정수도 문자열도 아니며 암시적인 변환도 없습니다. –

+0

@ m.edmondson : 문제를 이해하는지 잘 모르겠습니다. 실행 시간에 유형이 필수인지 여부를 테스트하려고합니까? –

8

공부하고있는 설명서는 2003 년에 작성되었으며 최신 언어 버전이 아닙니다. 여러분이 C#의보다 현대적인 버전을 사용한다면 2003 문서의 아카이브를 공부하는 것을 중단하고 대신 2010 문서를 읽는 것이 좋습니다.

귀하의 질문에 대한 답은 C# 사양 섹션 8.7.2에 있으며 귀하의 편의를 위해 여기에 재현 한 부분입니다.


스위치 문의 지배 유형은 스위치 식으로 설정됩니다.

하기 • 스위치 식의 형식이 sbyte, 바이트, 짧은 USHORT, INT, UINT, 긴, ULONG, 부울, 문자, 문자열, 또는 열거 형, 인 경우 또는이 경우 이러한 유형 중 하나에 해당하는 Nullable 유형 인 경우 스위치 문 의 관리 유형입니다.

그렇지 않으면 •, 정확히 하나의 사용자 정의 암시 변환은 다음과 같은 가능한 통치 유형 중 하나 에 스위치 식의 유형에서 존재해야합니다 : sbyte, 바이트, 짧은, USHORT, INT, UINT, long, ulong, char, string, 이거나 해당 유형 중 하나 인 에 해당하는 null 가능 유형입니다.

그러한 암시 적 변환이 존재하지 그렇지 않으면 •

, 또는 개 이상의 같은 암시 변환이있는 경우, 컴파일 타임 오류가 발생합니다.