次の方法で共有


ushort (C# リファレンス)

更新 : 2007 年 11 月

ushort キーワードは、次の表に示されたサイズと範囲に従って値を格納する整数データ型を表します。

範囲

サイズ

.NET Framework 型

ushort

0 ~ 65,535

符号なし 16 ビット整数

System.UInt16

リテラル

ushort 変数の宣言と初期化の例を次に示します。

ushort myShort = 65535;

上のように宣言すると、整数リテラル 65535 は暗黙的に int から ushort に変換されます。整数リテラルが ushort の範囲を超えると、コンパイル エラーになります。

オーバーロードされたメソッドを呼び出すときは、キャストを使用する必要があります。たとえば、ushort パラメータと int パラメータを使用したオーバーロードされたメソッドがあるとします。

public static void SampleMethod(int i) {}
public static void SampleMethod(ushort s) {}

ushort キャストを使用すると、正しい型が呼び出されます。次に例を示します。

// Calls the method with the int parameter:
SampleMethod(5);
// Calls the method with the ushort parameter:
SampleMethod((ushort)5);  

変換

ushort から intuintlongulongfloatdoubledecimal への暗黙の型変換が組み込まれています。

byte または char から ushort への暗黙の型変換が組み込まれています。その他の型の場合は、キャストを使用して明示的な変換を実行する必要があります。たとえば、2 つの ushort 変数 x と y があるとします。

ushort x = 5, y = 12;

次の代入ステートメントは、代入演算子の右側にある算術式が既定で int に評価されるため、コンパイル エラーになります。

ushort z = x + y;   // Error: conversion from int to ushort

このエラーを修正するには、キャストを使用します。

ushort z = (ushort)(x + y);   // OK: explicit conversion 

ただし、次のステートメントは使用できます。このステートメントでは、変換先の変数の記憶サイズは元のサイズ以上になります。

int m = x + y;
long n = x + y;

また、浮動小数点型から ushort への暗黙の型変換が行われないことに注意してください。たとえば、次のステートメントは、明示的なキャストを使用しない場合、コンパイラ エラーになります。

// Error -- no implicit conversion from double:
ushort x = 3.0; 
// OK -- explicit conversion:
ushort y = (ushort)3.0;

浮動小数点型と整数型の混在する算術式の詳細については、「float (C# リファレンス)」と「double (C# リファレンス)」を参照してください。

暗黙の数値変換規則の詳細については、「暗黙的な数値変換の一覧表 (C# リファレンス)」を参照してください。

C# 言語仕様

詳細については、「C# 言語仕様」の次のセクションを参照してください。

  • 1.3 型と変数

  • 4.1.5 整数型

参照

概念

C# プログラミング ガイド

参照

C# のキーワード

整数型の一覧表 (C# リファレンス)

組み込み型の一覧表 (C# リファレンス)

暗黙的な数値変換の一覧表 (C# リファレンス)

明示的な数値変換の一覧表 (C# リファレンス)

UInt16

その他の技術情報

C# リファレンス