.NET에서 번호가 올바르게 캐스트되는지 확인하십시오
문제
나는 값을 구체적으로 플로트에 할당 할 수 있다는 것을 알고 있습니다.
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;
제휴하지 않습니다 StackOverflow