C#のデータ型変換

 
データの型変換とは、ある型のデータを別の型に変換することですが、C#の型変換には暗黙的な型変換と明示的な型変換の2種類がありますので、以下で詳しく紹介していきます。

 

1. 暗黙的な型変換

暗黙的な型変換は、より小さい整数型 (int など) からより大きな整数型 (long など) への変換など、変換プロセス中にデータが失われることなく、型セーフな方法で C# によって実行されます。クラスは変換されます。基本クラスに。

暗黙的な変換では、追加のコードを記述する必要はありません。次の例は、暗黙的な型変換を使用して int 型データを double 型に変換する方法を示しています。

int a = 10;
double b = a;

ヒント: データ型 (タイプ A) は、その値の範囲が別のデータ型 (タイプ B) の値の範囲に完全に含まれている限り、タイプ A を暗黙的にタイプ B に変換できます。この機能に基づいて、C# の暗黙的な型変換によってデータ損失が発生することはありません。

2. 明示的な型変換

明示的な型変換は、強制型変換とも呼ばれます。この変換は、 (type)valueまたは定義済み関数の形式で明示的に実行する必要があります。明示的な変換では、ユーザーが変換する型を明示的に指定する必要があり、変換中に可能な場合もあります。 double 型から int 型への変換など、変換処理によりデータ損失が発生します。

明示的な型変換を示す例を次に示します。

use system;

namespace it-kiso.com{
    class ExplicitConversion {
        static Main(string[] args) {
            double d = 5673.74;
            int i;
        
            // double型をint型に変換する
            i = (int)d;
            Console.WriteLine("変換前{0}、変換後{1}", d, i);
            Console.ReadKey();
        }
    }
} 

上記のコードをコンパイルして実行すると、結果は次のようになります。

変換前5673.74,変換後5673

C# では、次の表に示すように、一連の組み込みの型変換メソッドも提供します。

方法 説明
ToBoolean 型をブール値に変換する
ToByte 型をバイト型に変換します
ToChar 型を単一の Unicode 文字型に変換します
ToDateTime 型 (整数または文字列型) を日時に変換する構造体
ToDecimal 浮動小数点型または整数型を 10 進数型に変換します
ToDouble 型を倍精度浮動小数点に変換します
ToInt16 型を 16 ビット整数型にキャストします
ToInt32 型を 32 ビット整数型にキャストします
ToInt64 型を 64 ビット整数型にキャストします
ToSbyte 型を符号付きバイト型に変換します。
ToSingle 型を小さな浮動小数点型に変換します。
ToString 型を文字列型に変換する
ToType 型を指定された型に変換します
ToUInt16 型を 16 ビット符号なし整数型にキャストします
ToUInt32 型を 32 ビット符号なし整数型にキャストします
ToUInt64 型を 64 ビット符号なし整数型にキャストします

[例] 上記のメソッドを使用して、さまざまな型のデータを文字列型に変換します。

 using System;

namespace it-kiso.com{
    class StringConversion {
        static void Main(string[] args) {
            int i = 75;
            float f = 53.005;
            double d = 2345.7652;
            bool b = true;

            Console.WriteLine(i.ToString());
            Console.WriteLine(f.ToString());
            Console.WriteLine(d.ToString());
            Console.WriteLine(b.ToString());
            Console.ReadKey();
        }
    }
} 

上記のコードをコンパイルして実行すると、結果は次のようになります。

75
53.005
2345.7652
True

「 C#のデータ型変換」についてわかりやすく解説!絶対に観るべきベスト2動画

C#プログラミング入門 第3回 (3) 整数型・実数型
C#プログラミング超入門 2020 Lv1 #6/12 変数の型