C#の明示的な型変換(キャスト)とは?基本とサンプルコードをわかりやすく解説
C#における明示的な型変換(明示的キャスト)とは、プログラマが意図的にキャスト演算子を使って、あるデータ型から別のデータ型へ値を変換する処理のことです。暗黙的な変換では対応できない型同士(たとえば double から int への変換など)では、この明示的な変換が必要になります。
明示的な型変換の特徴
明示的な型変換には、以下のような特徴があります。
- キャスト演算子が必要:変換先の型名を括弧 ( ) で囲んで記述します。
- データ損失の可能性がある:大きい型から小さい型へ変換する場合、精度や情報が失われることがあります。
- 開発者が責任を持って指定する:コンパイラが自動的に行わないため、変換の意図を明示的にコードに示します。
例として、double 型の値を int 型にキャストする方法を見てみましょう。小数点以下は切り捨てられ、整数部分だけが残る点に注意してください。
サンプルコード:double から int へのキャスト
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
double d = 345.78;
int i;
Console.WriteLine("double: " + d);
i = (int)d;
Console.WriteLine("int: " + i);
Console.ReadKey();
}
}
}実行結果
double: 345.78 int: 345
このように、(int)d というキャスト演算子によって double 型の値が int 型に変換され、小数点以下(.78)は切り捨てられて「345」と出力されます。
補足:Convertクラスを使った変換
キャスト演算子以外にも、Convert.ToInt32() のような事前定義されたメソッドを使って明示的に変換を行うこともできます。Convert.ToInt32() は四捨五入を行うため、キャスト(切り捨て)とは結果が異なる場合があるので、用途に応じて使い分けるとよいでしょう。
-
C言語の型変換入門:暗黙的変換と明示的変換(キャスト)の違いを徹底解説
あるデータ型を別のデータ型へ変換することを「型変換(type conversion)」と呼びます。C言語における型変換には、主に以下の2種類があります。 暗黙的な型変換(implicit conversion) 明示的な型変換(explicit conversion) 暗黙的な型変換とは 演算対象(オペランド)同士のデータ型が異なる場合、コンパイラが自動的に行う型変換です。 プログラマが特に指示しなくても、小さいデータ型から大きいデータ型への変換が自動的に実行されます。これを「型の昇格」とも呼びます。 int i,x; float f; double d; long int l;
-
C#のクラスとは?定義方法と基本構造を初心者向けに解説
C#におけるクラスの基本的な考え方C#において、クラス(class)とは、あるデータ型の設計図(ブループリント)を定義するものです。クラスをもとにして実際に生成されたデータの実体をオブジェクト(object)と呼び、これをクラスの「インスタンス」といいます。また、クラスを構成するメソッドや変数は、まとめてクラスのメンバー(members)と呼ばれます。クラスを理解することは、オブジェクト指向プログラミングを学ぶ上で最も重要な第一歩となります。クラス定義の一般的な書式クラスの定義は、キーワード class から始まり、その後にクラス名を記述します。そして、波括弧 { } で囲まれた部分がクラスの