Microsoft MVP성태의 닷넷 이야기
c#문법질문입니다. [링크 복사], [링크+제목 복사]
조회: 747
글쓴 사람
kss
홈페이지
첨부 파일
 
 class Program
    {
        public object MyClass { get; } = new object();
        public object MyClass2 => new object();

        static void Main(string[] args)
        {
            Program pg = new Program();
            Console.WriteLine(pg.MyClass.Equals(pg.MyClass));
            Console.WriteLine(pg.MyClass2.Equals(pg.MyClass2));
        }
    }

콘솔에 첫번째는 true라고 찍히는데
두번째는 false라고 찍힙니다.

MyClass2가 호출될때마다 계속 힙에 객체가 생성되는것같은데
Myclass의 간편표기볍이 MyClass2아닌가요?






[최초 등록일: ]
[최종 수정일: 11/1/2019 ]


비밀번호

댓글 쓴 사람
 



2019-11-01 11시16분
(.NET Reflector 등을 이용해) 각각의 풀어진 경우를 보면 알 수 있습니다. 예상할 수 있겠지만 MyClass의 구현과,

object _prop; // 생성자에서 "_prop = new object()" 초기화
public object MyClass { get { return _prop; } }

MyClass2는 다릅니다.

public object MyClass2 { get { return new object(); } }
정성태

1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...
NoWriterDateCnt.TitleFile(s)
5309하태3/11/2020813안녕하십니까. c# Winform UI 질문드리겠습니다! [3]파일 다운로드1
5308질문3/9/2020469Window XP SP3 32bit 환경(Window Update 모두 완료)에서 .Net Framework 4.0.3 으로 빌드된 .dll 파일 gacutil.exe 등록 관련 문의 [5]
5306개발자3/9/2020441C#을 통해 인터넷 접속 가능한 이더넷을 선택할 수 있는지요? [1]
5305JaeSSG3/9/2020452RAW파일 생성 질문드립니다 [8]파일 다운로드1
5303궁금하당2/27/2020577C#에서 C++ DLL읽기 (아래 글쓴이) [1]
5302궁금하당2/27/2020884C#에서 C++ DLL호출 ('PInvokeStackImbalance') [4]파일 다운로드1
5301질문합니다.2/27/2020513소켓 대량 데이터 디자인 문의 [1]
5300nalsandori2/27/2020451vs2013에서 BinaryFormatter Serialize 후 vs2015에서 Deserialize시 예외 발생 [3]파일 다운로드1
5298질문2/26/2020373.lic 파일에 대해 질문 있습니다. [9]
5297임한승2/26/2020222vs2013에서 BinaryFormatter Serialize 후 vs2015에서 Deserialize시 예외 발생 건 [1]파일 다운로드1
5295나그네2/25/2020525클라이언트 PC 정보 조회관련.. [2]
5294닷넷초보ㅠ2/25/2020351윈폼으로 socket통신프로그램 만든후 release로 디버깅한 실행파일을 다른컴퓨터에서 실행할때 반응이없어요 [1]
5293탱코2/21/2020539검색을 하고 싶은데 어떻게 검색을 해야 할 지 모르겠습니다. [1]
5292아부리2/19/2020477XingApiNet 관련 질문 [3]
5291지현명2/15/2020567JsonConvert.Serialize 하고 Deserialize 할때 간헐적으로 한글 깨짐 현상 문의 합니다. [3]
5290베도빈2/15/2020306직접 제작한 사용자 정의 콘트롤 DLL, 실행파일에 포함시켜 배포할 수 있을까요? [1]
5288김성배2/14/2020478c# 참조추가 기능에서 DirectX 참조가 보이지 않아요.. DircetX 11 은 설치 되어 있습니다. [1]
5287C# 초보개발자2/14/2020521프로그램 실행 질문 드립니다. [4]파일 다운로드1
5286gongs2/3/20201349윈도우 배율 및 레이아웃에 대한 질문입니다. [3]
5285강성욱1/27/2020483작업관리자에 표시되는 스레드 개수와 프로그램 내 스레드 개수 일치 [1]
5284이상준1/15/20201742출력창에 '스레드가 종료되었습니다' 문구 문의 [2]파일 다운로드1
5282봉봉이 1/13/2020888소켓 비동기 ReceiveTimeOut 구현 [9]파일 다운로드1
5281봉봉이 1/13/2020555소켓 비동기 ReceiveTimeOut 구현 [2]
5280sdd1/8/2020536데이터 저장, 배치파일 관련하여 질문드립니다. [4]
5279김창한12/27/2019828dsoframer ocx [3]
5278손님12/27/2019692CLR 스레드 풀 관련 질문 [1]
1  2  3  [4]  5  6  7  8  9  10  11  12  13  14  15  ...