스칼라 타입

다음 표는 Rust의 기본 타입과 C# 및 .NET의 대응 타입을 보여 줍니다.

RustC#.NET비고
boolboolBoolean
charcharChar주 1 참조
i8sbyteSByte
i16shortInt16
i32intInt32
i64longInt64
i128Int128
isizenintIntPtr
u8byteByte
u16ushortUInt16
u32uintUInt32
u64ulongUInt64
u128UInt128
usizenuintUIntPtr
f32floatSingle
f64doubleDouble
decimalDecimal
()voidVoid 또는 ValueTuple주 2, 3 참조
objectObject주 3 참조

주석:

  1. Rust의 char와 .NET의 Char는 정의가 다릅니다. Rust의 char는 4바이트 너비의 유니코드 스칼라 값입니다. .NET의 Char는 2바이트 너비이며 문자를 UTF-16으로 저장합니다. 자세한 내용은 Rust char 문서에서 확인할 수 있습니다.

  2. Rust의 단위 타입 ()는 값으로 표현할 수 있는 빈 튜플입니다. C#에서 가장 가까운 개념은 값이 없음을 나타내는 void입니다. 다만 포인터와 안전하지 않은 코드를 사용하는 경우를 제외하면 void를 값으로 표현할 수 없습니다. .NET의 ValueTuple도 빈 튜플이지만 C#에는 이를 나타내는 () 같은 리터럴 구문이 없습니다. C#에서 ValueTuple을 사용할 수는 있으나 흔하지 않습니다. F#에는 Rust와 비슷한 단위 타입이 있습니다.

  3. void와 object는 스칼라 타입이 아닙니다. .NET 타입 계층에서 int와 같은 스칼라 타입이 object의 하위 타입이라는 점과는 별개입니다. 비교의 편의를 위해 표에 함께 넣었습니다.

관련 자료: