문제

나는 값을 구체적으로 플로트에 할당 할 수 있다는 것을 알고 있습니다.

float y = 4.5f;

바이트를 제외하고는 같은 일을하고 싶습니다. 어떻게해야합니까? MSDN 문서를 확인했으며 이와 관련된 것을 찾을 수 없습니다. 또한, 이것이 무엇이라고 불리는가?

감사,

편집하다

명확성을 위해 내가 사용하는 코드는 IS입니다

byte myByte = a==b?1:0;

그리고 내가 얻는 오류는입니다

유형 'int'를 'byte?'로 암시 적으로 변환 할 수 없습니다. 명백한 전환이 존재합니다 (캐스트가 놓치고 있습니까?)

해결책

byte myByte = (byte)(a==b?1:0);
도움이 되었습니까?

해결책

그만큼 byte, sbyte, short 그리고 ushort 데이터 유형에는 지정된 접미사가 없습니다. 그러나 정수 문자 그럴은 이러한 데이터 유형의 변수에 할당 될 수 있으며 변수의 저장에 적합하다고 가정하여 암시 적으로 변환됩니다. 여기에 레코드를 위해서는 C#의 정의 된 리터럴이 있습니다.

uint: U or u
long: L or l
ulong: UL or ul
float: F or f
decimal: M or m

다른 팁

나는 단지 캐스트를 사용할 것입니다.

// Okay
Byte data = (Byte) 57;

// Error (but I don't know if it is a compiler error or a runtime error)
Byte data = (Byte) -17;

또는 상수를 소개합니다.

// Okay
const Byte foo = 57;
Byte data = foo;

// Compiler Error
const Byte foo = -17;
Byte data = foo;

에 따르면 이 게시물, 바이트에는 그러한 접미사가 없습니다.

바이트를 정의 할 때 접미사가 필요하지 않습니다.

   byte b = 1;

값이 0에서 255 사이인지 확인하면됩니다.

MSDN은 F를 '접미사'로 사용하여 문자 그대로 유형을 강요합니다.

다음 기사를 참조하십시오 C-sharp 온라인 자세한 내용은

HEX 표기법 :

바이트 b = 0xff;

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top