C#에서 개체 배열 선언
이 기사에서는 객체 배열을 선언하거나 초기화하는 방법을 소개합니다. 객체 배열을 사용하면 각 객체의 클래스 메서드에 액세스할 수 있습니다.
C#
의 개체 배열
객체 배열은 다양한 방식으로 사용될 수 있습니다. 여러 종류의 구성 요소를 단일 컬렉션에 함께 보관합니다. 개체 참조는 모든 파생 형식 인스턴스를 참조할 수 있습니다.
다음은 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
다음 단계를 따르면 객체 배열을 선언할 수 있습니다.
- 먼저 필요한 라이브러리를 import 해야 합니다.
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
클래스 외부에서 접근할 수 없는employee
객체의 private 변수 값을 설정하는 setter 메서드입니다.
public void EmpInfo(string empName, int empId, string empDesig) {
this.empId = empId;
this.empDesig = empDesig;
this.empName = empName;
}
employee
클래스 내부에showEmployeeDetails()
함수를 구축하여 ‘직원’ 세부정보를 표시했습니다.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
클래스의 모든 개체는 우리가 구성한 배열에 저장됩니다. 그런 다음 두 개의 개체를 만들고 초기화합니다.
그런 다음 두 개체에 대한 각 변수 값을 사용하여 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#
에서 Float 및 Integer 데이터 형식을 사용하여 개체 배열 선언
통사론:
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