C# でオブジェクトの配列を宣言する
この記事では、オブジェクトの配列を宣言または初期化する方法を紹介します。オブジェクトの配列を使用すると、各オブジェクトでクラスメソッドにアクセスできます。
C# 内のオブジェクトの配列
オブジェクト配列はさまざまな方法で使用できます。それらは、多くの種類のコンポーネントを 1つのコレクションにまとめます。オブジェクト参照は、任意の派生型インスタンスを参照できます。
C# でのオブジェクト配列宣言の例を次に示します。
C# で文字列データ型を使用してオブジェクトの配列を宣言する
構文:
employee[] e = new employee[3];
e[0] = new employee();
e[1] = new employee();
e[2] = new employee();
例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace ConsoleApplication1 {
class employee {
private string empName;
private int empId;
private string empDesig;
public void EmpInfo(string empName, int empId, string empDesig) {
this.empId = empId;
this.empDesig = empDesig;
this.empName = empName;
}
public void showEmployeeDetails() {
Console.WriteLine("\nEmployee Record: ");
Console.WriteLine("\t Emp Name: " + empName);
Console.WriteLine("\t Id : " + empId);
Console.WriteLine("\tDesignation : " + empDesig);
}
}
class EmployeeTest {
public static void Main() {
employee[] e = new employee[3];
e[0] = new employee();
e[1] = new employee();
e[2] = new employee();
e[0].EmpInfo("Shan", 132, "Manager");
e[0].showEmployeeDetails();
e[1].EmpInfo("Casper", 131, "CEO");
e[1].showEmployeeDetails();
e[2].EmpInfo("Olga", 139, "Team Leader");
e[2].showEmployeeDetails();
}
}
}
出力:
Employee Record:
Emp Name: Shan
Id : 132
Designation : Manager
Employee Record:
Emp Name: Casper
Id : 131
Designation : CEO
Employee Record:
Emp Name: Olga
Id : 139
Designation : Team Leader
これらの手順に従うことで、オブジェクトの配列を宣言できます。
- まず、必要な以下のライブラリをインポートする必要があります。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
- 次に、
employeeという名前のクラスを作成し、クラス内で、employeeの 3つのプライベートデータメンバーを宣言します。
class employee {
private string empName;
private int empId;
private string empDesig;
}
employeeクラス内にEmpInfo()という名前のコンストラクターを作成し、それぞれempName、empId、empDesigという名前の 3つの引数を渡します。EmpInfo()は、employeeオブジェクトのプライベート変数値を設定するための setter メソッドであり、employeeクラスの外部からはアクセスできません。
public void EmpInfo(string empName, int empId, string empDesig) {
this.empId = empId;
this.empDesig = empDesig;
this.empName = empName;
}
employeeクラス内にshowEmployeeDetails()関数を作成して、employeeの詳細を表示しました。employee変数はクラス外では使用できないため、コンソールにemployeeデータを表示するためにこのメソッドを作成しました。
この関数を使用できるため、employee オブジェクトで showEmployeeDetails() を直接呼び出して、コンソールに employee データを表示できます。
public void showEmployeeDetails() {
Console.WriteLine("\nEmployee Record: ");
Console.WriteLine("\t Emp Name: " + empName);
Console.WriteLine("\t Id : " + empId);
Console.WriteLine("\tDesignation : " + empDesig);
}
Mainクラスにオブジェクトの配列を作成します。employeeクラスのすべてのオブジェクトは、作成した配列に格納されます。次に、2つのオブジェクトを作成して初期化します。
その後、両方のオブジェクトの各変数の値を使用して、employee クラス内で以前に作成したコンストラクターを呼び出します。
次に、employee クラス内で showEmployeeDetails() を呼び出して、前のコードブロックで割り当てた各 employee の値を出力します。
class EmployeeTest {
public static void Main() {
employee[] e = new employee[3];
e[0] = new employee();
e[1] = new employee();
e[2] = new employee();
e[0].EmpInfo("Shan", 132, "Manager");
e[0].showEmployeeDetails();
e[1].EmpInfo("Casper", 131, "CEO");
e[1].showEmployeeDetails();
e[2].EmpInfo("Olga", 139, "Team Leader");
e[2].showEmployeeDetails();
}
}
C# で浮動小数点数と整数のデータ型を持つオブジェクトの配列を宣言する
構文:
object[] num = new object[5];
num[0] = 2.15;
num[1] = 'S';
num[2] = 27;
例:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
class DeclareObjectArray {
static public void Main() {
object[] num = new object[5];
// float value
num[0] = 2.15;
// Character
num[1] = 'S';
// integer value
num[2] = 27;
// null value
num[3] = null;
// system object
num[4] = new object();
foreach (var Items in num) {
Console.WriteLine(Items);
}
}
}
出力:
2.15
S
27
System.Object
Main クラスでは、この例のオブジェクトの配列を作成します。
作成した配列は、num クラスのすべてのオブジェクトを保持します。次に、5つのオブジェクトを作成して設定します。
その後、すべてのインスタンスの各変数の値を使用して、前に作成したコンストラクターを実行します。
I have been working as a Flutter app developer for a year now. Firebase and SQLite have been crucial in the development of my android apps. I have experience with C#, Windows Form Based C#, C, Java, PHP on WampServer, and HTML/CSS on MYSQL, and I have authored articles on their theory and issue solving. I'm a senior in an undergraduate program for a bachelor's degree in Information Technology.
LinkedIn