다음과 같은 수업이 있습니다.
public class TestClass {
public string ClassName {
get;
set;
}
}
하는 것의 차이점은 무엇입니까?
var instance = new TestClass();
하고
var instance = new TestClass { };
개체의 생성자를 호출하려면 ()를 포함해야한다고 생각했습니다. 그게 무슨 뜻입니까?
편집 : 누군가가 가장 좋은 것을 설명 할 수 있습니까? 아니면 생성자, 장점 또는 단점을 무시한다면?
Edit2 : 이미 답변 된 것을 물어 보면 죄송합니다. 그 차이는 나에게 다소 분명했지만 ()와 {}를 어떻게 섞어 매치시킬 수 있는지 정말 이해하지 못했습니다. 때때로 ()가 무시되고 언제 그렇게 할 수 있는지 알고 싶었 기 때문입니다.
첫 번째 예제는 새 인스턴스를 인스턴스화합니다.
두 번째 예제는 객체 초기화 구문을 통해 새 인스턴스를 인스턴스화 합니다.
둘 다 새 인스턴스를 생성합니다.
인스턴스화하는 동안 클래스의 공용 속성 또는 필드를 필요로하거나 설정하려는 경우 후자를 사용합니다.
var instance = new TestClass { ClassName = "TestingInstance" };
반대로
var instance = new TestClass();
instance.ClassName = "TestingInstance";
새로운 개체를 만들고 많은 속성을 설정할 때 삶을 조금 더 쉽게 (그리고 일부 개발자에게는 더 명시 적으로) 만드는 것은 본질적으로 "구문 적 설탕"입니다.
객체 초기화를 사용할 때 매개 변수 ()
는 선택 사항이지만 중괄호 {}
와 명령문 종료 세미콜론 ;
이 필요합니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다