この章ではforeachの使い方について説明します。
foreachは配列の要素をすべて取り出す機能を持っています。
foreachの構文は以下の通りです。 では例をみてみましょう。 配列の要素が順番に変数(この例の場合にはs)にセットされで出力されます。
以下の順番で配列の要素を出力します。 for文で書き換えると以下のようになります。
配列の長さだけfor文を回すので条件式にはを指定しています。
「配列名.Length」で配列の要素数を取得できることを思い出してください。 結果は以下の通りです。 次の例では2次元配列のデータをforeachで取り出しています。 2次元配列の要素のforeachでの取り出し方は通常の配列と同じです。
この例では1つ1つの要素にを挟みながら出力しています。
結果は以下の通りです。
次の例ではジャグ配列のデータをforeachで取り出しています。 図式化すると以下の通りです。 結果は以下の通りです。
カテゴリー: Cシャープ
ジャグ配列について知ろう
自動計算プログラムを作ろう
この章では5つの足し算の問題を出して、正解数をカウントするプログラムを作ります。
このプログラムには配列、for文が含まれていますので、これらの使い方に対して理解を深めてください。 次は初めのfor文の中を説明します。
以下の箇所でそれぞれの変数にランダムな数が入りますが、この章はfor文と配列の学習ですので、この部分の詳しい説明は「占いプログラムを作ろう」で説明します。
この部分は簡単に言いますとクラスという機能を使っているのですが、number1とnumber2には1から50までの数値がランダムに入ります。
今のところは配列とfor文の使い方だけを押さえておいてください。 つまり、以下の順序で配列にデータが入ります。 つまり、以下の順序で配列にデータが入ります。 結果は以下の通りです。
配列についてを知ろう
この章では配列について説明します。普通の変数は1つしかデータを入れることができません。
つまり、他のデータを入れようとするとデータが上書きされてしまいますが、配列は複数のデータをまとめて入れることができます。
変数と配列の違いを見比べてみましょう。 変数の例では のように3つの変数が記述されていますが、この3つの変数はお互いに関連しているように見えますが、メモリ上はまったく関連のない別々の変数です。
これを関係性を持たせて、ひとまとめで扱いたい場合は配列を使います。
例えば人の身長、体重、年齢などをお互いに関連させて管理したい場合には配列を使います。
これを変数で1つ1つバラバラに扱うより分かりやすくなります。添え字についてのイメージが湧くように、もう少し説明します。
例えばコインロッカーに荷物を預けるときには番号が振ってあるロッカーに荷物を入れますが、この番号が振ってあるおかげで自分の荷物がどこにあるのかが分かるわけです。
添え字も考え方は同じです。
つまり、添え字は配列のデータがどこに入っているのかを管理する番号です。
そして、その添え字という管理番号は1からではなく、0から始まっています。 次に配列を作成した後、何もデータを入れなかった場合、どうなるのかをみてみましょう。 結果は以下の通りです。 次の例は「配列の作成」と「初めにデータを入れる作業」を簡単に記述する方法です。
では例をみてみましょう。 次は参考までにstringで配列を作ります。
では例をみてみましょう。 配列で文字列を扱う場合、配列の型名はString[]です。
結果は以下の通りです。 次は配列に要素が何個入っているのかを調べる方法について説明します。 次は配列を別の配列にコピーする方法について説明します。
if文で星座を判別しよう
if文で星座の判定を書いてみましょう。
Console.ReadLine()でユーザーに誕生月と誕生日を入力させて、それに対して星座を出力させるプログラムです。
少し長いプログラムですがif文が連なっているだけです。
ここで使っているif文は入れ子になっています。
つまり、if文の中にif文が入っている構造になっています。 初めに以下の箇所でユーザーに入力させた文字列を整数値に変換しています。 次にmonthの数値が1から12までのどの数値なのかを初めのif文で確認します。
そして2つ目の入れ子のif文でdayの値により分別をします。
if文は入れ子にすることが出来ることを覚えておいてください。
例えばmonthが1だとしますと1月は山羊座もしくは水瓶座なので、これを入れ子の条件式によりさらに分別します。
1月19日までが山羊座で、月末までが水瓶座ですので、これを条件式にという形式で書きます。
if文の入れ子についてまとめますと、初めのif文で大まかな分別を行い、入れ子のif文で詳細の分別を行いたい時にif文の入れ子を使います。
この例では最初のif文で月を決めて、入れ子のif文で星座を決めます。 結果の一例は以下の通りです。
ユーザー入力についてを知ろう
この章ではユーザーからの入力を受けとる方法について説明します。
ユーザーからの入力を受け取るにはを使用します。
を冒頭に入れるとの「System」は省略できます。
では例をみてみましょう。 ここではユーザーがキーボードから入力した値で足し算を行っています。
の部分でキーボードからユーザーに入力させるのですが、ここで入力できるのはあくまで文字列なので、これを数値型に変換しなければいけません。
これを行うのがParseメソッドです。
Parseメソッドは文字列を他の型に変換するメソッドです。 この例ではConsole.ReadLine()が2つあるので2回ユーザーから入力させます。
1回目の結果がnumberに入り、2回目の結果がnumber2に入ります。
(number+number2)のカッコは必ず付けてください。
カッコを付けると優先順位が先になるので、ここから計算されますが、このカッコを外すとが初めにnumberと連結されるので正しく計算されませんので気を付けてください。
結果は例えば以下の通りです。
では次の例をみてみましょう。 数値に変換する必要が無いのであればParseメソッドは使う必要がありません。
結果は以下の通りです。 次は先ほどの例とは逆に数値を文字列に変換する方法について説明します。
数値を文字列に変換するにはToStringメソッドを使用します。
では例をみてみましょう。 上の例は以下のように書いても同じです。 結果は以下の通りです。 ToStringメソッドは数値を文字列に変換しますが、その時どのような文字列に変換するのかを書式で指定することが出来ます。
変換の書式には標準書式指定文字とカスタム書式指定文字があります。 標準書式指定文字DとXの例をみてみましょう。結果は以下の通りです。 標準書式指定文字FとEの例をみてみましょう。 結果は以下の通りです。 標準書式指定文字PとCの例をみてみましょう。 結果は以下の通りです。
カスタム書式指定文字0と#の例をみてみましょう。 結果は以下の通りです。 カスタム書式指定文字%の例をみてみましょう。
フォーマット指定による出力方法
この章ではフォーマット指定による出力について説明します。
詳しい説明は例の後で行います。 次の例を見てみましょう
次はフォーマット指定子に桁数を入れる方法について説明します。
では例をみてみましょう。 次は桁数にマイナスの値を入れた場合はどうなるか説明します。 結果は以下の通りです。 次は標準書式指定文字を使って出力する方法について説明します。
標準書式指定文字とは例えば指定した数値を「標準書式指定文字であるd」を使って10進数に変換したり、または「標準書式指定文字であるc」を使って通貨表示にすることが出来る特殊な文字です。
では例をみてみましょう。 標準書式指定文字のDについて説明します。 D もしくは dを指定すると10進数で出力します。 結果は以下の通りです。 次は標準書式指定文字のCについて説明します。 Cもしくは cを指定すると通貨表示で出力します。
では例をみてみましょう。 結果は以下の通りです。 標準書式指定文字のXについて説明します。 Xもしくは xを指定すると16進数で出力します。
では例をみてみましょう。 結果は以下の通りです。 標準書式指定文字のEについて説明します。 Eもしくは eを指定すると10進数の指数形式で出力します。
では例をみてみましょう。 結果は以下の通りです。 標準書式指定文字のFについて説明します。 Fもしくはfを指定すると固定小数点で出力します。
では例をみてみましょう。 結果は以下の通りです。 次はカスタム書式指定文字を使った出力について説明します。
カスタム書式指定文字とは指定した値をあらゆる形式に置き換える特殊な文字のことを言います。 では例をみてみましょう。