LoginSignup
0
0

More than 3 years have passed since last update.

C# 値型(boolとchar)

Last updated at Posted at 2020-06-04

bool

bool型キーワードはブール値(true、false)を表す。
.NET System.Boolean構造体のエイリアスです。

bool型の値を使って論理演算を実行するには、ブール論理演算子を使用。
bool型は比較及び、等値演算子の結果の型。
bool式は、if,do,while及びforステートメント及び条件演算子?:で制御条件式にすることが出来る。

bool型の既定値はfalseです。

リテラル
true 及び falseリテラルを使用して、bool変数を初期化したり、bool血を渡したりすることが出来る。


C#
bool check = true;
Console.WriteLine(check ? "Checked" : "Not checked"); // output: Checked

Console.WriteLine(false ? "Checked" : "Not checked"); // output: Not checked

3値ブール型ロジック
3値ロジックをサポートする必要がある場合は、NULL許容型のbool?を使用。
例えば、3値ブール型をサポートするデータベースを操作する場合など。
bool?オペランドの場合、ていっぎ済みの&演算子と|演算子は3値ロジックを
サポートする。

コンバージョン
bool型が関係する変換が2つのみ用意。
対応するNULL許容型のbool?への暗黙的な変換とbool?がたからの明示的な変換。
但し、.NETには、bool型との間の変換に使用できる追加のメソッドが用意されて入る。

char

char型のキーワードは、UnicodeUTF-16文字を表す。 .NET System.Char構造体のエイリアス
範囲(U+0000~U+FFFF)

char型では、比較演算子、等価演算子、インクリメント演算子、およびデクリメント演算子がサポート
charオペランドの場合、算術演算子及びビット論理演算子によって、対応する文字コードに対する演算が実行され、
int型の結果が生成されます。
string型では、char値のシーケンスとしてテキストを表します。

リテラル
char値は以下で指定できる。
・文字リテラル
・Unicodeエスケープシーケンス。これは\uの後に文字個0度の16進数表現(4つの記号)を続けた者になります。
・16進数エスケープシーケンス。これは\xの後に文字コードの16進数表現を続けた物。

C#
var chars = new[]
{
    'j',
    '\u006A',
    '\x006A',
    (char)106,
};


Console.WriteLine(string.Join(" ", chars)); // output: j j j j

文字コードの値をそれに対応するchar値に型変換も可能。
※Unicodeエスケープシーケンスは4つの16進数をすべて指定する必要がある!!
※16進数エスケープシーケンスの場合は、先頭のゼロを省略可能。

変換
char型は、整数型(ushort,int,uint,long,ulong)に暗黙的に変換可能
また組み込みの浮動小数点数値型(float,double,decimal)に暗黙的に変換可能
sbyte,byte,short整数型には明示的に変換する。

他の型からchar型への暗黙的に変換は不可。
しかし、整数または浮動小数点の数値型はcharに明示的に変換可能になっている。
参考資料:
・Microsoft C#リファレンス

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0