-128에서 127까지의 값 범위에 속하는 부호 있는 8비트(1바이트) 정수를 저장합니다.
Integer
의 전체 데이터 너비 또는 Short
의 데이터 너비 절반 조차 필요하지 않은 정수 값을 포함하려면 SByte
데이터 형식을 사용합니다. 경우에 따라, 공용 언어 런타임은 SByte
변수를 긴밀하게 압축하고 메모리 소비를 절약할 수 있습니다.
SByte
의 기본값은 0입니다.
10진수 리터럴, 16진수 리터럴, 8진수 리터럴 또는(Visual Basic 2017부터) 2진 리터럴을 할당하여 SByte
변수를 선언하고 초기화할 수 있습니다.
다음 예제에서는 10진수, 16진수 및 이진 리터럴로 표현된 -102와 같은 정수가 SByte
값에 할당됩니다. 이 예제에서는 /removeintchecks
컴파일러 스위치를 사용하여 컴파일해야 합니다.
Dim sbyteValue1 As SByte = -102
Console.WriteLine(sbyteValue1)
Dim sbyteValue4 As SByte = &H9A
Console.WriteLine(sbyteValue4)
Dim sbyteValue5 As SByte = &B1001_1010
Console.WriteLine(sbyteValue5)
' The example displays the following output:
' -102
' -102
' -102
참고
16진수 리터럴을 나타내려면 접두사 &h
또는 &H
을(를) 사용하고, 이진수 리터럴을 나타내려면 접두사 &b
또는 &B
을(를) 사용하고, 8진수 리터럴을 나타내려면 접두사 &o
또는 &O
을(를) 사용합니다. 10진수 리터럴에는 접두사가 없습니다.
Visual Basic 2017부터 다음 예와 같이 밑줄 문자 _
을 숫자 구분 기호로 사용하여 가독성을 높일 수도 있습니다.
Dim sbyteValue3 As SByte = &B1001_1010
Console.WriteLine(sbyteValue3)
' The example displays the following output:
' -102
Visual Basic 15.5부터 밑줄 문자(_
)를 접두사와 16진수, 이진수, 8진수 사이의 선행 구분 기호로 사용할 수도 있습니다. 예시:
Dim number As SByte = &H_F9
선행 구분 기호로 밑줄 문자를 사용하려면 Visual Basic 프로젝트(*.vbproj) 파일에 다음 요소를 추가해야 합니다.
<PropertyGroup>
<LangVersion>15.5</LangVersion>
</PropertyGroup>
자세한 내용은 Visual Basic 언어 버전 선택을 참조하세요.
정수 리터럴이 SByte
범위를 벗어나는 경우(즉 SByte.MinValue보다 작거나 SByte.MaxValue보다 큰 경우) 컴파일 오류가 발생합니다. 정수 리터럴에 접미사가 없으면 정수로 추측됩니다. 정수 리터럴이 Integer
형식의 범위를 벗어나면 Long으로 유추됩니다. 즉, 이전 예제에서 숫자 리터럴 0x9A
및 0b10011010
(은)는 값이 SByte.MaxValue을 초과하는 156인 부호 있는 32비트 정수로 해석됩니다. 10진수가 아닌 정수를 SByte
에 할당하는 다음과 같은 코드를 성공적으로 컴파일하려면 다음 중 하나를 수행할 수 있습니다.
/removeintchecks
컴파일러 스위치를 사용해 컴파일하여 정수 범위 검사를 사용하지 않도록 설정합니다.형식 문자를 사용하여
SByte
에 할당할 리터럴 값을 명시적으로 정의합니다. 다음 예제에서는 음수 리터럴Short
값을SByte
에 할당합니다. 음수의 경우 숫자 리터럴 중 상위 단어의 상위 비트를 설정해야 합니다. 예제의 경우 리터럴Short
값의 15비트입니다.Dim sByteValue1 As SByte = &HFF_9As Dim sByteValue2 As SByte = &B1111_1111_1001_1010s Console.WriteLine(sByteValue1) Console.WriteLine(sByteValue2)
CLS 준수.
SByte
데이터 형식은 CLS(공용 언어 사양)의 일부가 아니므로 CLS 규격 코드는 이를 사용하는 구성 요소를 사용할 수 없습니다.Widening.
SByte
데이터 형식은Short
,Integer
,Long
,Decimal
,Single
및Double
로 확장됩니다. 이는 System.OverflowException 오류 발생 없이SByte
를 이러한 형식 중 하나로 변환할 수 있음을 의미합니다.형식 문자.
SByte
에는 리터럴 형식 문자 또는 식별자 형식 문자가 없습니다.프레임워크 형식. .NET Framework에서 해당하는 형식은 System.SByte 구조체입니다.
.NET 피드백
.NET 은(는) 오픈 소스 프로젝트입니다. 다음 링크를 선택하여 피드백을 제공해 주세요.