>  기사  >  백엔드 개발  >  C# 개체 이니셜라이저

C# 개체 이니셜라이저

WBOY
WBOY원래의
2024-09-03 15:06:25330검색

C#의 개체 이니셜라이저를 사용하면 클래스 변수에 값을 할당할 수 있습니다. C#에서 개체 이니셜라이저를 사용하는 경우 생성자가 클래스 멤버 변수의 값을 할당할 필요가 없습니다. 클래스의 인스턴스를 생성하는 동안 변수에 값을 할당할 수 있습니다. 생성자와는 구문이 다릅니다. 간단히 말해서 C#에서 개체를 초기화하는 새로운 형식입니다. 다음 섹션에서는 더 나은 이해와 사용법을 위해 객체 초기화 및 구현에 대해 자세히 논의하겠습니다.

구문

이름처럼 C#에서 클래스의 개체를 초기화하는 데 사용되는 것을 제안합니다. 더 쉽고 간단해졌습니다. C#에서 애플리케이션을 생성하는 동안 더 나은 이해와 사용법을 위해 구문을 살펴보겠습니다.

Class_name std = new Class_name() {
// indside this we can initialize the object withour using the constructor.
};

위 구문에서 볼 수 있듯이 클래스의 객체를 생성하려고 하는데, 그 뒤에 객체를 생성하기 위해 C#에서 흔히 사용하는 new 키워드가 이어집니다. 그런 다음 '{}' 중괄호 안의 객체에 값을 할당하려고 합니다. 초보자가 빠르게 구현할 수 있는 연습 구문을 아래에서 살펴보겠습니다.

예:

Demo d = new Demo() { name  = "demo sample"
};

위 구문 라인에서는 프로그래밍하는 동안 이 구문을 사용하는 방법을 보여주었습니다. 다음 섹션에서는 애플리케이션 개선을 위한 내부 작업에 대해 더 자세히 논의하겠습니다.

C#에서 개체를 초기화하는 방법

이미 알고 있듯이 객체 초기화는 클래스나 컬렉션의 객체를 생성하는 과정이지만 실제로 이렇게 하면 몇 가지 장점이 더 있습니다. 개체를 생성하는 동안 C#에서 생성자를 사용하지 않고도 값을 할당하거나 클래스 변수 또는 클래스 멤버를 초기화할 수 있습니다. 개체를 생성하는 방법은 동일하지만 초기화하려면 C#의 구문이 약간 다릅니다. 객체를 생성하려면 여전히 'new' 키워드를 사용합니다. 이 섹션에서는 객체 초기화 구문에 대해 점점 더 자세히 설명합니다. 또한 초보자가 프로그래밍 시 활용할 수 있는 연습 예제입니다.

시그니처에 대해 더 자세히 논의해 보겠습니다. 아래를 참조하세요;

서명:

Demo d = new Demo() { name = "dummy name",
roll_num = "200",
city = "some city"
};

위 샘플에서는 객체 초기화의 일부 변경 사항과 별도로 'new' 키워드를 사용하고 있습니다. C#에서 객체 초기화를 활용하려면 다음과 같이 정의된 몇 가지 규칙을 따라야 합니다.

1. 먼저 C#에서 일반적으로 수행하는 것처럼 원하는 클래스 또는 컬렉션의 개체를 만들어야 합니다. C#에서 새 객체를 생성하려면 'new' 키워드를 사용합니다.

2. C#에서 객체 초기화를 구현하려면 객체 생성 직후 클래스 변수에 값을 할당해야 합니다.

3. 이를 위해 C#에서는 '{}' 중괄호를 사용해야 합니다. 이 {} 중괄호 안에 값을 제공하려는 변수를 전달할 수 있습니다. 객체 초기화의 모든 변수에 값을 전달하거나 할당하는 것이 필수는 아닙니다. 그것은 요구 사항에 따라 다릅니다. 여기서는 값을 할당하기 위해 생성자를 사용하지 않기 때문에 여기에 강제를 적용했습니다.

4. 또한 개체 초기화는 변수를 초기화하는 데 필요한 코드 줄을 줄여줍니다. 또한 이를 위해 매개변수화된 기본 생성자를 생성할 필요가 없습니다. 또한 코드의 가독성이 높아지고 줄 수가 줄어듭니다.

5. 그 후에는 모든 유형의 변수를 할당할 수 있습니다. 문자열이든 숫자든 무엇이든 상관없습니다.

6. 또한 {} 중괄호 끝에는 ';' 세미콜론으로 끝내야 작동합니다. 그렇지 않으면 끝에 ';'이 누락되었거나 예상된다는 컴파일 시간 오류가 발생합니다.

이제 초보자가 실제 시나리오에서 내부 작동 및 구현을 이해할 수 있도록 샘플 예를 하나 살펴보겠습니다.

예:

public class Employee
{
public int EmployeeId { get; set; }
public string Employeecity { get; set; }
}
class Demo
{
static void Main(string[] args)
{
System.Console.WriteLine();
Employee emp = new Employee() { EmployeeId = 100,
Employeecity = "indore"
};
}
}

위의 예에서는 기록에 대한 직원 정보를 포함할 'Employee'라는 클래스 하나를 생성합니다. 이 안에는 두 개의 변수 'EmployeeId'와 'Employeecity'가 클래스 내에 저장되어 있습니다. 그런 다음 이 변수에 액세스합니다. 내부에 Main() 메소드를 포함하는 'Demo'라는 클래스가 하나 더 있습니다. 이 메소드 내부에서는 C#의 객체 초기화를 사용하고 있습니다. 이를 사용하여 클래스의 변수를 초기화하려고 합니다. 위를 참조하세요. . 그 후에는 db에 저장하거나 콘솔 로그를 사용하여 간단히 인쇄할 수 있습니다.

1. C#에서 개체 이니셜라이저를 사용하여 직원 데이터를 표시하려고 합니다. 이는 초보자가 구현을 이해하기 위한 샘플 예제입니다. 객체 이니셜라이저를 사용하여 원하는 수의 객체를 생성하고 데이터를 저장할 수 있습니다.

예:

public class Employee
{
public int EmployeeId { get; set; }
public string Employeecity { get; set; }
public int Employeesalary { get; set; }
public string Employeename { get; set; }
public string Employeeaddress { get; set; }
public string Employeedepartment { get; set; }
}
class Demo
{
static void Main(string[] args)
{
System.Console.WriteLine("Demo to show object initializer in C# !!");
Employee emp = new Employee() { EmployeeId = 100,
Employeecity = "indore",
Employeesalary = 15000,
Employeename = "Amit vyas"   ,
Employeeaddress = "1009 strre",
Employeedepartment = "Account"
};
System.Console.WriteLine("Prinitg the values from the object ::::");
System.Console.WriteLine("emp id is:: " + emp.EmployeeId);
System.Console.WriteLine("emp city is:: " + emp.Employeecity);
System.Console.WriteLine("emp salary is:: " + emp.Employeesalary);
System.Console.WriteLine("emp name is:: " + emp.Employeename);
System.Console.WriteLine("emp address is:: " + emp.Employeeaddress);
System.Console.WriteLine("emp department is:: " + emp.Employeedepartment);
}
}

출력:

C# 개체 이니셜라이저

결론

객체 초기화를 사용하면 C#에서 생성자를 사용하지 않고 간단히 변수에 값을 할당할 수 있습니다. 객체를 생성하는 동안에만 값을 할당할 수 있습니다. 해당 구문은 생성자에 대해 사용했던 기존 구문과 약간 다릅니다. 이로 인해 코드 줄의 가독성이 떨어지거나 이해하기가 어려워집니다.

위 내용은 C# 개체 이니셜라이저의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
이전 기사:C# 개체 보낸 사람다음 기사:C# 개체 보낸 사람