![]() |
||
連載改訂版 C#入門第5章 C#のデータ型 |
||
| 本記事は、(株)技術評論社が発行する書籍『新プログラミング環境 C#がわかる+使える』から許可を得て転載したものです。同書籍に関する詳しい情報については、本記事の最後に掲載しています。 |
C#にも、整数型や実数型といったデータ型が存在する。本連載では、整数型とは何か、実数型とは何かといったことはすでに承知しているものとして説明を進める。その代わり、C#ならではの興味深い機能がいろいろあるので、それについて解説したいと思う。
5-1 C#の主要なデータ型
C#の主要なデータ型の一覧表をTable 5-1に示す。予約語と別名は、どちらを使っても意味は同じである。このことについては、後で詳しく説明する。
5-2 整数型からメソッドを呼ぶ
C#にも、もちろん、普通のプログラミング言語にあるような、整数型や、実数型が存在する。例えば、intという名前のデータ型が整数型を意味するのは、C/C++/Javaなどと同じである。Visual BasicならInteger(あるいはLong)に相当するものである。その点では、それほど違わないように見える。
ところが、実は、intというのは世を忍ぶ仮の姿なのである。intは、別名、System.Int32とも呼ばれる。これは、クラスに似ているが、構造体と呼ばれるものの一種である。構造体については後で説明するが、ここではクラスのようなものと思ってかまわない。さて、実際に、.NET Frameworkのリファレンス・マニュアルで、System名前空間のInt32という項目を引くと、intから利用できる機能がずらりと並んでいる。これらは、int型の数値や変数に対して適用することができる。例えば、文字列に変換するメソッドとして、「ToString()」というものがある。整数の123を文字列に変換する場合は「123.ToString()」という式を書くことができる。整数型の変数iを文字列に変換するのなら、「i.ToString()」となる。このように、整数のようなシンプルなデータ型に対してメソッドなどを使用できるプログラミング言語は多くない。奇異に感じる読者もいるかもしれないが、使いこなせば強力な機能である。
では、本当に「i.ToString()」という構文が機能することを、実際のサンプル・コードList 5-1で確かめてみよう。
|
|
| List 5-1 |
このソース・コードでは面白い機能を利用しているため、その点だけは注意が必要である。12行目のWriteLineメソッドはこれまで何度も使ってきたが、実は複数の値を書式の中に取り込んで出力する機能を持っている。最初の引数の中の文字列中に「{0}」と書くと、引数の2番目の値がそこに挿入され表示される。「{1}」は引数の3番目、「{2}」は4番目である。例えば、「Console.WriteLine( "AB{0}EF", "CD" );」というコードは、「ABCDEF」を出力する。
これを実行した結果はFig.5-1のようになる。
![]() |
| Fig.5-1 |
数値としての値は「123」だが、これを文字列に変換した結果も、123となっている。間違いなく整数型変数に対して、ToString()が機能していることが分かるだろう。
5-3 異なる名前で利用できるデータ型
本章の冒頭に載せたTable 5-1で見て取れるように、intとSystem.Int32のような別名関係は、ほかのデータ型にもすべて存在する。
これらの別名が完全にイコールであることを示すために、List 5-1を別名で書いたものをList 5-2に示そう。
|
|
| List 5-2 |
List 5-2は、intの代わりにSystem.Int32、stringの代わりにSystem.Stringと書き直したものである。これを実行するとまったく同じ結果になることが、Fig.5-2から分かるだろう。
![]() |
| Fig.5-2 |
| INDEX | ||
| 改訂版 C#入門 | ||
| 第5章 C#のデータ型 | ||
| 5-1 C#の主要なデータ型 | ||
| 5-4 数値の範囲 | ||
| 5-6 値型と参照型 | ||
| 5-7 ボックス化 | ||
| 「連載:改訂版 C#入門」 |
TechTargetジャパン
- 新人プログラマーのためのInsider.NETの歩き方 2012 (2012/5/22)
晴れて.NETプログラマーとなる新人が効率的に開発技術を習得するには? 大量にある記事群の中から新人が読むべきお勧めを厳選して紹介 - jQuery MobileでJavaScriptプログラミング (2012/5/17)
jQuery Mobileは手軽なだけでなく、JavaScriptのAPIも充実しており、独自機能の実装もできる。今回は「グローバル設定」と「イベント」を解説 - Windows上で開発するための開発環境構築入門 (2012/5/16)
Windowsを使ってチームで開発している? なのにサーバOSを設定・運用した経験がない? そうなら、今すぐ学ぼう - 「コントラクト」でアプリのサンドボックスを乗り越える! (2012/5/11)
Metroスタイル・アプリはサンドボックスの中で動作する。それを乗り越えてほかのアプリと連携する仕組み「コントラクト」を解説
|
|
キャリアアップ
スポンサーからのお知らせ
- - PR -
イベントカレンダー
- - PR -




