C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#における型変換と型キャストの違いとは?基本からコード例まで解説

C#において、型変換型キャストは本質的に同じものを指します。どちらも「あるデータ型の値を別のデータ型へ変換する」処理のことです。C#の型キャストには、大きく分けて次の2つの形式があります。

C#の型キャストの2つの形式

1. 暗黙的な型変換(Implicit Conversion)

暗黙的な型変換は、C#が自動的に、かつ型安全な方法で実行する変換です。プログラマーが特別な記述をしなくても、コンパイラが適切に処理してくれます。代表的な例としては、以下のようなケースが挙げられます。

  • 小さい整数型から大きい整数型への変換(例:int型からlong型へ)
  • 派生クラスから基底クラスへの変換(アップキャスト)

2. 明示的な型変換(Explicit Conversion)

明示的な型変換は、ユーザーが意図的に行う変換で、あらかじめ定義された関数や構文を使用します。この変換にはキャスト演算子が必要です。データ損失の可能性がある場合など、開発者が責任を持って変換を行う際に使用します。

double型をint型にキャストするサンプルコード

以下は、double型の値をint型に明示的にキャストする例です。キャスト演算子 (int) を使用している点に注目してください。

using System;
namespace Demo {
    class Program {
        static void Main(string[] args) {
            double d = 9322.46;
            int i;

            // doubleをintにキャスト
            i = (int)d;
            Console.WriteLine(i);
            Console.ReadKey();
        }
    }
}

実行結果

9322

出力を見ると、小数点以下の値(0.46)は切り捨てられ、「9322」と表示されています。明示的なキャストでは、このように情報が失われる可能性があるため、使用する際は注意が必要です。

  1. C#におけるstringとStringの違いは何ですか?

    C#のstringとStringの違いC#プログラミングにおいて、stringとStringはどちらも同じ型を指しますが、その扱いには微妙な違いがあります。Stringは.NET FrameworkのクラスであるSystem.Stringを直接表すものであり、一方、stringはC#言語が用意しているSystem.Stringのエイリアス(別名)です。つまり、両者はコンパイル後にまったく同じものとして扱われます。基本的な使い方の例string str = Welcome!;このように文字列変数を宣言する際は、通常小文字のstringを使用します。使い分けの目安厳密なルールはありませんが、一般的

  2. C#の暗黙的型変換と明示的型変換の違いを徹底解説!サンプルコードで学ぶ型変換の基本

    はじめに C#では、異なるデータ型の間で値をやり取りする際に「型変換」が必要になります。型変換には、コンパイラが自動的に行ってくれる暗黙的型変換と、プログラマが意図的に指示する明示的型変換の2種類があります。本記事では、それぞれの特徴と違いをサンプルコードとともにわかりやすく解説します。 暗黙的型変換(Implicit Type Conversion)とは 暗黙的型変換は、C#が型の安全性を保ちながら自動的に実行してくれる変換です。小さい型から大きい型への変換(例:int → long)は、データが失われる恐れがないため、特別な記述をしなくても行えます。 次のコードを見てください。int型の