C#のArrayクラスとは?主要なメソッドとプロパティを実例付きで解説
C#におけるArrayクラスは、すべての配列の基底クラスとなる重要なクラスです。System名前空間で定義されており、配列の操作や情報取得に役立つ多彩なメソッドとプロパティが用意されています。
この記事では、Arrayクラスの代表的なメソッドとプロパティを一覧形式で整理し、最後にReverseメソッドを使った回文判定のサンプルコードを紹介します。
Arrayクラスの主なメソッド
以下は、C#のArrayクラスでよく使われるメソッドの一覧です。
| No. | メソッドと説明 |
|---|---|
| 1 | Clear 配列内の指定範囲の要素を、要素の型に応じてゼロ・false・nullに設定します。 |
| 2 | Copy(Array, Array, Int32) 元の配列の先頭要素から指定範囲の要素をコピーし、別の配列の先頭から貼り付けます。長さは32ビット整数で指定します。 |
| 3 | CopyTo(Array, Int32) 現在の1次元配列のすべての要素を、指定したインデックス以降の別の1次元配列へコピーします。インデックスは32ビット整数で指定します。 |
| 4 | GetLength 配列の指定した次元に含まれる要素数を、32ビット整数として取得します。 |
| 5 | GetLongLength 配列の指定した次元に含まれる要素数を、64ビット整数として取得します。 |
| 6 | GetLowerBound 配列の指定した次元の下限(最小インデックス)を取得します。 |
| 7 | GetType 現在のインスタンスのTypeを取得します(Objectクラスから継承)。 |
| 8 | GetUpperBound 配列の指定した次元の上限(最大インデックス)を取得します。 |
| 9 | GetValue(Int32) 1次元配列内の指定位置にある値を取得します。インデックスは32ビット整数で指定します。 |
| 10 | IndexOf(Array, Object) 指定したオブジェクトを検索し、1次元配列全体の中で最初に見つかった位置のインデックスを返します。 |
| 11 | Reverse(Array) 1次元配列全体の要素の並び順を反転させます。 |
Arrayクラスの主なプロパティ
続いて、Arrayクラスが持つ代表的なプロパティを見ていきましょう。
| No. | プロパティと説明 |
|---|---|
| 1 | IsFixedSize 配列が固定サイズかどうかを示す値を取得します。 |
| 2 | IsReadOnly 配列が読み取り専用かどうかを示す値を取得します。 |
| 3 | Length 配列の全次元に含まれる要素の総数を、32ビット整数として取得します。 |
| 4 | LongLength 配列の全次元に含まれる要素の総数を、64ビット整数として取得します。 |
| 5 | Rank 配列のランク(次元数)を取得します。 |
実装例:Reverseメソッドで回文を判定する
ここでは、Reverseメソッドを使って文字配列の並びを反転させ、その文字列が回文(前から読んでも後ろから読んでも同じ文字列)かどうかを判定する例を紹介します。
サンプルとして使用する文字列は「Level」です。この文字列は反転しても「Level」のままなので、回文であると判定されるはずです。
サンプルコード
using System;
namespace Demo {
class Program {
static void Main(string[] args) {
string string1, rev;
string1 = "Level";
char[] ch = string1.ToCharArray();
Array.Reverse(ch);
rev = new string(ch);
bool b = string1.Equals(rev, StringComparison.OrdinalIgnoreCase);
if (b == true) {
Console.WriteLine("String " + string1 + " is a Palindrome!");
}else {
Console.WriteLine("String " + string1 + " is not a Palindrome!");
}
Console.Read();
}
}
}処理の流れと出力結果
このコードでは、まずToCharArrayメソッドで文字列をchar型の配列に変換し、Array.Reverseで要素の順序を反転させています。その後、反転後の文字列と元の文字列をEqualsメソッド(大文字小文字を区別しない比較)で照合することで、回文かどうかを判定しています。
実行すると、コンソールには次のように表示されます。
String Level is a Palindrome!
このように、Arrayクラスのメソッドを活用すれば、配列の反転やコピー、検索といった操作を簡潔に実装できます。日常的なC#プログラミングにおいて、ぜひ活用してみてください。
-
C#入門:クラスメソッドとメンバー変数(クラスメンバー)の違いをわかりやすく解説
C#のようなオブジェクト指向言語では、クラスを構成する要素として「メソッド(メンバー関数)」と「メンバー変数(フィールド)」があります。この2つは役割がまったく異なり、それぞれを正しく理解することが、カプセル化を活かした良質なコード設計への第一歩となります。本記事では、両者の違いを具体的なサンプルコードとともにわかりやすく解説します。 クラスメソッド(メンバー関数)とは? クラスのメンバー関数、すなわちメソッドとは、その定義やプロトタイプがクラス定義の中に記述される関数のことです。他の変数と同じようにクラス内で宣言され、そのクラスのオブジェクトに対して操作を行います。 メソッドの大きな特徴は、
-
Rubyの配列(Array)クラスの使い方徹底解説!基本操作と便利なメソッド一覧
配列(Array)とは? 配列はRubyに組み込まれたクラスで、0個以上の要素をリスト形式で保持することができます。さらに、要素の追加・アクセス・繰り返し処理を簡単に行えるメソッドも多数用意されています。 もし配列が存在しなければ、値ごとに個別の変数を用意しなければならず、管理が非常に大変になります。 例: a = 1 b = 2 c = 3 しかし、配列を使えば次のように書けます: numbers = [1, 2, 3] さらに嬉しいことに、配列の中には何でも入れられます! 例えば: 数値 文字列 さらに別の配列!(これは多次元配列になります) それでは、配列を最大限に活用できる