こんばんにちは、ユウです。
最近はコロナウィルスの影響で、小中高生が一斉に休校になったりなど世間がかなり騒がれていますね。
国の対応が早かろうが遅かろうが、
どちらであろうとも国民からの不満の声が漏れるのは当たり前なので、
お偉いさん方にはあまり気にせずにコロナウィルスの被害の縮小を目指して頑張ってほしいですね。
前回のC#記事ではdecimal型とchar型について学習してきました。
前回の記事は以下のリンクから足を運んでみてください。
本記事での学習
☑論理型は2種類しかない
☑リテラルとは何か
☑暗黙の型指定とは
☑dynamic型の使い方
今回の内容も情報量が多いかもしれませんが、基本の部分ですのでしっかりと覚えるようにしましょう。
それでは早速始めていきましょう。
今回C#を紹介するにあたって、発行元:SB クリエイティブ株式会社 著者:粂井 康孝(くめい やすたか)さんの「猫でもわかるC#プログラミング」を参考に紹介しています。
論理型
論理型は、その値としてtrue(真)とfalse(偽)の2種類しか持ちません。
C#において論理型はbool型となります。
使い方は以下のようになります。
GetTypeメソッドを初めて使っていますが、このメソッドについては下のほうで詳しく解説していきます。
リテラル
変数に対してリテラル(literal)という概念があります。
リテラルは固定の値で、一目瞭然の値をしています。
例えば整数の10や文字列のabcや文字のaなどはすべてリテラルとなります。いわゆる定数といわれるものですね。
このリテラルにも型が存在しています。ここで思い出してほしいのが以下の記事で紹介している型についてです。
それでは整数10は何型なのでしょうか。整数10に該当する型はint,short,ushort,byte,sbyte,lomg,ulongというように多く存在します。
ですが整数リテラルはint型と決められています。しかし、intに収まり切れないのであれば、long型を使ってもいいですし、範囲に収まるのであればbyteを使用しても構いません。
リテラル10を意図的に「これはlongの10だ」と言い張ることもできます。
この場合は「10L」のように末尾に「L」(または「l」)を付けて表現します。
このような文字をサフィックス(suffix,接尾語)といい、他の表現では以下のようになります。
また、実数型でも同じようなことができます。
データ型 | サフィックス |
long | Lまたはl |
uint | Uまたは |
ulong | ULまたはul |
float | Fまたはf |
double | Dまたはd |
decimal | Mまたはm |
それでは、リテラルが何型を持っているか知りたいときはどうすればいいでしょうか。
そのようなときに使用すると便利なメソッドがあります。
それが先ほどのコードで使用したGetTypeメソッドです。
GetTypeメソッド
public Type GetType();
これを使用するとき、例えば1のリテラルが知りたい場合は「1.GetType()」とすれば良いです。
それではコードを書いていきましょう。
暗黙の型指定
C#では「var キーワード」を用いて暗黙の型指定ができるようになっています。
これはローカル変数に対してとても有効でゲーム制作時にはかなり使用頻度が多いので覚えておくようにしてください。
変数の初期化時のみに使用でき、この暗黙の型指定はコンパイラが右辺の内容から単純に型を予測して行います。
例えば、var x = 10;とするとint x = 10;というように予測されます。
それではコードで理解していきましょう。
dynamic型
dynamic型が指定された変数ではコンパイル時に型が決定されず、実行時に決定されます。
主にCOMやDOMへのアクセスを容易にするために付け加えられた機能です。
COMやDOMについては以下の記事を参考にしてください。特に今の段階では知る必要はないかと思いますが参考になります。
COMについて
http://www.ops.dti.ne.jp/~allergy/com/com.html
DOMについて
https://developer.mozilla.org/ja/docs/Web/API/Document_Object_Model/Introduction
dynamic型を使うためには、プロジェクトの参照設定にMicrosoft.CSharpを付ける必要があります。
それではコードを書いていきましょう。
最後に
今回も様々な型について紹介してきました。
特に暗黙の型指定はゲーム制作においてかなり使用頻度が高いので、知識として覚えておくと、理解しながらゲーム制作を行えるかと思います。
今回はこれで以上となります。
最後まで読んでいただきありがとうございました!