入門用

【C# sharp】配列の使い方を徹底解説! 宣言と初期化、要素の取得、設定など徹底解説!

ChatGPTのAPIを使わずに自動化することが可能です。
下記の本を読めば、ChatGPT4でも料金掛からずに自動化できます!KindleUnlimited会員であれば無料で読めます。

1. C#の配列とは

C#における配列とは、同じ型の複数の値を一つの変数に格納するためのデータ構造です。
例えば、あなたが10個の整数を管理したいとします。それぞれの整数に異なる変数を割り当てる代わりに、1つの新しい配列を作成し、その中にすべての整数を格納することができます。

サルモリ
「だからって、配列ってそんなに重要なの?一つ一つ別々の変数で管理したっていいじゃん。」

配列の重要性

確かに、数値が少ない場合は個々の変数で管理するのも一つの手ですが、数が多くなるとその管理が大変になります。
また、配列を使うとループ処理を効率的に行うことができます。これが配列が重要な理由の一つです。

サルモリ
「なるほど、数が多くなると管理が大変になるのは納得だね。でも、ループ処理って何?」
C#のLinqを徹底的に学びたい方は画像をクリックしてご覧ください!
KindleUnlimited会員であれば、全ての本をご覧頂けます。 Linqを理解すれば、C#プログラミングの世界が変わる 第1版

2. 配列の宣言と初期化

C#で配列を使うには、まずその配列を宣言し、次に初期化する必要があります。
宣言は、配列がどの型のデータを保持するかを指定します。初期化は、配列に具体的な値を割り当てるプロセスです。

ソースコード例

上記のコードは、5つの整数を保持できる配列を宣言し、初期化しています。
これにより、myArray[0]、myArray[1]、myArray[2]、myArray[3]、myArray[4]の5つの整数を管理することが可能になります。

サルモリ
「へー、配列のインデックスって0から始まるのか。なんか直感的じゃないな。」

配列のインデックスについて

多くのプログラミング言語では配列のインデックスは0から始まります。
つまり、配列の最初の要素はインデックス0でアクセスされ、次の要素はインデックス1、というように進みます。
これは初めて見ると少し直感に反するかもしれませんが、慣れると非常に自然に感じられるようになります。

サルモリ
「0から始まるってのはちょっと面白いね。でも慣れれば何でもありか。」

3. 配列への値の代入と取り出し

配列に値を代入したり、配列から値を取り出したりするには、インデックスを使用します。
配列名の後に角括弧([])をつけ、その中にインデックスの値を書きます。

ソースコード例

 出力結果 10 20 30 40 50 

このコードでは、まず5つの要素を持つ整数型の配列myArrayを宣言し、初期化しています。
そして、各インデックスに対して値を代入しています。
最後に、各インデックスの値をConsole.WriteLineを使って出力しています。

サルモリ
「すごいな、配列って。値の管理がめちゃくちゃ便利になるね!」

4. 配列とループ処理

配列の真価が発揮されるのは、ループ処理を行うときです。
for文やforeach文を用いて、配列のすべての要素に簡単にアクセスできます。

ソースコード例

 出力結果 10 20 30 40 50 

ここではfor文を用いて配列の全ての要素に順にアクセスし、その値を出力しています。
ここで使用されているmyArray.Lengthは配列の長さ(要素数)を返すプロパティで、これにより配列の要素すべてに対する処理を容易に行うことができます。

サルモリ
「なるほどね、ループ処理ってこれか!配列と一緒に使うと、本当に便利そうだね。」

5. 多次元配列

C#では、1次元だけでなく多次元の配列も作成することができます。
これを利用すると、表形式のデータや、3次元空間のデータなど、より高次元の情報を効率よく扱うことが可能となります。

ソースコード例

 出力結果 1 2 3 4 5 6 

上の例では、2行3列の二次元配列を作成しています。
各要素には対応する値が格納され、それらは2つのforループを使用してアクセスし、出力しています。

サルモリ
「うわー、2次元もあるんだ!これなら表形式のデータとかも簡単に扱えそうだね!」

6. 配列のメソッドとプロパティ

配列は、データを格納するだけでなく、そのデータに対する様々な操作を可能にするメソッドやプロパティを提供しています。
いくつかの重要なものを見ていきましょう。

配列の主要なメソッドとプロパティ

  • Length:配列全体の要素数を返します。
  • GetLength(int dimension):指定した次元の要素数を返します。
  • Sort():配列の要素をソートします。
  • Reverse():配列の要素の順序を反転します。
サルモリ
「これなら配列の操作も楽々だね!ソートや反転なんて一瞬でできちゃうんだから。」

7. 配列と参照

配列は参照型であるため、メソッドに配列を渡すと、そのメソッド内で配列の要素が変更されると、それが呼び出し元にも影響します。
つまり、メソッド内で配列を変更すると、元の配列も変更されます。

ソースコード例

 出力結果 Before: 1 After: 100 

上のコードでは、配列myArrayをChangeArrayメソッドに渡しています。
このメソッド内で配列の最初の要素を変更すると、メソッドを呼び出した後の元の配列も変更されています。

サルモリ
「これはちょっと注意が必要だね。メソッドに渡した後の配列も変わっちゃうなんて。」

8. 配列を使った一般的なパターン

配列はデータ構造の基本であり、様々なシナリオで使用されます。
ここでは、配列を使用してデータを処理する一般的なパターンをいくつか紹介します。

step
1
データの集計

配列の要素をループして集計を行うパターンは非常に一般的です。
これには、合計値を計算したり、最大値や最小値を見つけたりするなどが含まれます。

ソースコード例

 出力結果 The sum is: 15 

step
2
データの変換

配列のすべての要素に何らかの変換を適用するパターンもよく見られます。
これには、数値を二乗したり、文字列を大文字に変換したりするなどがあります。

ソースコード例

 出力結果 2 4 6 8 10 

step
3
データのフィルタリング

特定の条件を満たす要素だけを抽出するパターンも一般的です。
たとえば、ある範囲の数値を含む要素だけを選択するなどが可能です。

このWhereメソッドはLinqメソッドです。C#には、配列の要素などを簡単に修正できるLinqメソッドを使用することができます。

Whereメソッドは条件にあった、要素のみ取り出すことが可能です。

ソースコード例

 出力結果 4 5 
サルモリ
「なるほど、このパターンを覚えておけば、色々な場面で使えそうだね!」

9. 配列と他のコレクション

C#には配列以外にも様々なコレクションが存在します。
これにはList、Queue、Stack、Dictionaryなどが含まれます。
これらはそれぞれ独自の特性と利点を持ち、様々なシナリオで使用されます。

しかし、配列は最も基本的なデータ構造であり、他の多くのコレクションの基礎となる概念です。
したがって、配列の理解は、C#や他のプログラミング言語でより高度なデータ構造を理解するための重要なステップです。

サルモリ
「他にもたくさんのコレクションがあるんだね!でも、まずは配列から始めるんだな!」

まとめ

本記事では、C#の配列の使い方を初心者向けに解説しました。
配列の基本的な定義の仕方、要素へのアクセス方法、配列の長さの取得方法、配列の初期化の方法、配列を使用した一般的なパターンを学びました。

配列はプログラミングの基本的なデータ構造であり、多くの場面で使用されます。
この記事を通じて、配列の基本的な使い方を理解し、C#プログラミングのスキルを一歩進めることができたら幸いです。

最後まで読んで頂き、ありがとうございました。少しでもお役に立てたなら幸いです!

サルモリ
最後まで読んでくれてありがとう!!

-入門用

Ads Blocker Image Powered by Code Help Pro

Ads Blocker Detected!!!

We have detected that you are using extensions to block ads. Please support us by disabling these ads blocker.

Powered By
Best Wordpress Adblock Detecting Plugin | CHP Adblock