C#에서 개체 배열 초기화

Saad Aslam 2023년10월12일
  1. Constructor 매개변수를 사용하여 C#에서 개체 배열 초기화
  2. 생성자 호출 활동을 완료하기 위해 getset 메소드 생성
  3. C#의 생성자 매개변수를 통해 배열을 초기화하는 전체 소스 코드
C#에서 개체 배열 초기화

이 문서에서는 C#에서 생성자 매개 변수를 통해 개체 배열을 초기화하는 방법을 소개합니다.

Constructor 매개변수를 사용하여 C#에서 개체 배열 초기화

먼저 이 예제에서 해당 기능을 사용하려면 System 라이브러리를 가져와야 합니다.

using System;

그런 다음 공용 클래스 Person 내에서 필드, 생성자, getter, setter 메서드 및 기타 메서드를 만듭니다. 그러면 생성자 호출 활동이 완료되고 출력이 표시됩니다.

public class Person {}

Person 클래스 내에서 각각 데이터 유형이 long 및 string인 persongepersonName이라는 두 개의 개인 변수를 선언합니다.

이 클래스 외부에서 데이터에 액세스하는 것을 원하지 않기 때문에 누출로부터 데이터를 안전하게 유지하기 위해 변수에 대해 개인 액세스 수정자를 사용하고 있습니다.

private long personAge;
private string personName;

그런 다음 생성자 Person을 구성하고 각각 agename이라는 레이블이 붙은 데이터 유형 long 및 string의 두 변수에 전달합니다.

age 값을 내부에 이전에 생성된 변수 personge에 할당하고 호출 시 얻을 age 값을 할당합니다. personName 변수도 유사하게 처리됩니다.

public Person(long age, string Name) {
  personAge = age;
  personName = Name;
}

그런 다음 personge 변수의 데이터 유형과 동일한 데이터 유형이 긴 Personge라는 또 다른 클래스를 만듭니다.

생성자 호출 활동을 완료하기 위해 getset 메소드 생성

클래스 내에서 호출할 때마다 personge를 반환하는 get 메서드를 만들 것입니다. 또한 호출할 때 받은 값을 personge 변수에 할당하는 set 메서드를 생성합니다.

public long PersonAge {
  get { return personAge; }
  set { personAge = value; }
}

이전 클래스 Personge와 유사하게 get 메소드가 생성될 또 다른 클래스 PersonName을 생성합니다.

이것은 호출될 때마다 personName을 반환하고 set 메소드는 호출할 때 받은 값을 personName 변수에 할당합니다.

public string PersonName {
  get { return personName; }
  set { personName = value; }
}

위의 단계 후에 Person 클래스가 닫히고 그 후에 BioData라는 또 다른 공개 클래스가 생성됩니다.

public class BioData {}

이 클래스 내부에 변수 persons 선언이 있는 Person 배열 클래스 객체를 생성합니다.

Person[] persons;

이제 BioData()라는 공개 메서드를 만들고 그 안에서 persons라는 이름의 Person 배열 유형 변수를 초기화하고 Person 생성자를 호출합니다.

필수 값 persongepersonName을 할당합니다. Person 생성자를 4번 호출하고 다른 값을 할당합니다.

public BioData() {
  persons = new Person[] {
    new Person(52, "Kian"),
    new Person(47, "Max"),
    new Person(19, "Franky"),
    new Person(76, "Connor"),
  };
}

이 단계가 완료되면 모든 Person의 세부 정보를 표시해야 합니다. 결과적으로 우리는 반환 유형이 voidshowDetails()라는 새 메서드를 생성할 것입니다. 왜냐하면 아무 것도 반환하지 않기 때문입니다.

먼저 이 방법은 Person's Details를 표시합니다. 그런 다음 foreach 루프를 적용하고 해당 조건 부분 내부에 Detail 변수를 만듭니다.

루프 본문 내에서 persons 인스턴스를 반복하게 되면, 우리는 인물의 이름과 인물의 나이를 표시한다.

public void showDetails() {
  Console.WriteLine("Person's Details\n");

  foreach (var Detail in persons) {
    Console.WriteLine("Person Name: " + Detail.PersonName);

    Console.WriteLine("Person Age: " + Detail.PersonAge);

    Console.WriteLine("---------------------------");
  }
}

이제 int 유형 main 메소드가 있습니다. main 내부에서 변수 Data를 초기화하고 BioData 클래스 내부에 있는 BioData() 메서드를 할당합니다.

Data를 사용하여 Person의 모든 속성을 표시하는 showDetails() 메서드를 실행합니다.

public static class PersonDetail {
  static int Main(string[] args) {
    var Data = new BioData();
    Data.showDetails();
    return 0;
  }
}

C#의 생성자 매개변수를 통해 배열을 초기화하는 전체 소스 코드

using System;
public class Person {
  private long personAge;
  private string personName;

  public Person(long age, string Name) {
    personAge = age;
    personName = Name;
  }
  public long PersonAge {
    get { return personAge; }
    set { personAge = value; }
  }

  public string PersonName {
    get { return personName; }
    set { personName = value; }
  }
}

public class BioData {
  Person[] persons;
  public BioData() {
    persons = new Person[] {
      new Person(52, "Kian"),
      new Person(47, "Max"),
      new Person(19, "Franky"),
      new Person(76, "Connor"),
    };
  }
  public void showDetails() {
    Console.WriteLine("Person's Details\n");

    foreach (var Detail in persons) {
      Console.WriteLine("Person Name: " + Detail.PersonName);

      Console.WriteLine("Person Age: " + Detail.PersonAge);

      Console.WriteLine("---------------------------");
    }
  }
}

public static class PersonDetail {
  static int Main(string[] args) {
    var Data = new BioData();

    Data.showDetails();

    return 0;
  }
}

출력:

Person's Details

Person Name: Kian
Person Age: 52
---------------------------
Person Name: Max
Person Age: 47
---------------------------
Person Name: Franky
Person Age: 19
---------------------------
Person Name: Connor
Person Age: 76
---------------------------
작가: Saad Aslam
Saad Aslam avatar Saad Aslam avatar

I'm a Flutter application developer with 1 year of professional experience in the field. I've created applications for both, android and iOS using AWS and Firebase, as the backend. I've written articles relating to the theoretical and problem-solving aspects of C, C++, and C#. I'm currently enrolled in an undergraduate program for Information Technology.

LinkedIn

관련 문장 - Csharp Array