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#リファレンス