【C#】数値型・文字列型の使い方

C#で数値型・文字列型を扱う方法についてソースコード付きでまとめました。

【はじめに】変数と定数

商品ごとに消費税10%を計算するといったように、異なるデータに同じ計算処理を行うことがあります。

消費税の計算式

消費税 = 商品価格 × 0.10

上式の場合、計算式自体は変化しませんが、商品の価格は変化します。
このとき、変化する値が変数となります。
一方、変化しない値を定数といいます。

消費税の計算式の場合
変化する値「商品価格」 変数(Variable)
変化しない値「0.10」 定数(Constant)
【プログラミング】変数と定数とは?その違いを解説
この記事では、プログラムにおける変数と定数の違いについて解説します。

動画解説

本ページの内容は以下動画でも解説しています。

【変数】宣言、初期化

変数を使用する際は、宣言と初期化を行う必要があります。

【宣言の例】

int var;
char str;

varはint(整数)型の変数、strはchar(文字)型の変数を宣言しています。
変数を宣言する際に、同時に初期値を与えることができます。
これを変数の初期化といいます。

【初期化の例】

int var = 2;
char str = 'X';

上記の例だと
varはint型の変数で初期値は5です。
strはchar型の変数で初期値は’X’です。

宣言した変数にデータを入れることを「代入」といいます。
代入を行うと初期化したときのデータは消えます。(上書きされる)

【代入の例】

var = 5;
str = 'Y';

varに整数値5、strに文字’Y’を代入しています。
ここで注意すべきは、「違う型の変数には代入できない」ということです。

【代入できない例】

var = 'Y';
str = 5;

例えば、int型の変数varにchar型のデータ’Y’を代入することはできません。

【定数】宣言のみ

C# では、const というキーワードを用いることで、 定数を定義できます。

const int var = 5; // 宣言時のみ値を入れられる

【変数の確認】中身の表示、データ型の取得

System.Console.WriteLineメソッドで変数の中身をコンソール出力して確認できます。

【書式】

System.Console.WriteLine(変数名)

C#では、GetTypeメソッドで変数のデータ型を確認できます。

サンプルプログラムのソースコードは下記の通りです。


【C#】変数のデータ型を取得
この記事では、C#言語で変数のデータ型を取得する方法について解説します。

【変数の型】数値型の種類

数値型の変数の種類や違いをまとめると以下の通りです。

型の種類 内容 値の範囲
byte 8bit整数(符号付) -128 ~ 127
int 32bit整数(符号付) -2,147,483,648 ~ 2,147,483,647
short 16bit整数(符号付) -32,768 ~ 32,767
long 64bit整数(符号付) -9,223,372,036,854,775,808 ~ 9,223,372,036,854,775,807
byte 8bit整数(符号なし) 0 ~ 255
ushort 16bit整数(符号なし) 0 ~ 65,535
uint 32bit整数(符号なし) 0 ~ 4,294,967,295
ulong 64bit整数(符号なし) 0 ~ 18,446,744,073,709,551,615
float 32bit浮動小数点 ±1.5 × 10^-45~ ±3.4 × 10^38
double 64bit浮動小数点 ±5.0 × 10^-324~ ±1.7 × 10^308

例えば、byte型は8bitの記憶領域サイズを確保して符号付き(±)で整数を表現します。
そのため、扱える値の範囲は-128~127となります。

実数(小数点以下も扱う数値)を使いたい場合は、floatかdouble型を使用します。
double型の方が記憶領域サイズが64bitと多い分、扱える実数の範囲が広いため、計算精度が高くなります。
そのため、float型の単精度浮動小数点数型、double型のことを倍精度浮動小数点数型といいます。

記憶領域サイズが大きいほど、扱える数値の範囲は大きくなりますが、メモリ領域を多く占領してしまいます。
よって、用途に応じて最適な数値の型を選択する必要があります。


【C#】数値型の変数(種類、違い)
この記事では、C#言語で数値型の変数の種類や違いについてソースコード付きで解説します。

【変数の型】文字型の種類

文字型の変数の種類や違いをまとめると以下の通りです。

型の種類 内容
char 16bit Unicode
string 文字列(UTF-16)

string型は、文字列を扱える変数です。
次のように文字列をダブルクオーテーションで囲んで代入します。

string var = "たーのし!";

文字列オブジェクト「たーのし!」がメモリ領域上に確保されます。
変数varには、その参照が格納されます。

一方、char型では、1文字をシングルクォートで囲みます。

char var = 'x';

char型の場合は、変数varがメモリ領域上に確保されます。
そして、文字「a」のUnicodeが変数varに直接格納されます。

【C#】文字型の変数の使い方【String】
C#言語で文字型の変数の種類や違いについてソースコード付きで解説します。

【変数の型】var型

C#のvar型変数は、コンパイル時に型の評価が自動的に行われます。
例えば、var型で宣言した変数に整数を代入すると、整数型の変数になります。

サンプルプログラムのソースコードは下記の通りです。


var型の変数に整数を入れた場合、int32型に自動的に設定されていることがわかります。
一方、文字列を入れた場合はString型になっています。

ただし、一度整数を代入した後に文字列を代入するとエラーがでます。
例)

var a1 = 1;
a1 = "エクスカリバー"; // エラーになる

【NULL型】ヌル

NULL(ヌル)とは、「変数に何もない」ことを表すものです。
変数が空であることや、配列の終端を表したりするのに使います。

C#2.0以降では、値型の変数(int, doubleなど)はnull許容型で宣言することでnullを代入できます。

【数値型の場合】

型名? 変数名 = null;

【数値型以外の場合】

型名 変数名 = null;

【C#】数値型の変数(種類、違い)
この記事では、C#言語で数値型の変数の種類や違いについてソースコード付きで解説します。
【C#入門】基礎文法とサンプル集
C#言語の基本文法・使い方をサンプルプログラムのソースコード付きで解説します。

コメント