최대 1 분 소요

이 글은 한빛미디어의 이것이 C#이다를 보고 공부한 내용을 정리한 글입니다.

헷갈리는 부분 위주로 정리했습니다.

증감 연산자 전위/후위 차이

전위

  • ++a 나 –a 같이 연산자가 변수 앞에 옴
  • 해당 문장이 실행되기 전에 변수 값을 증감시킴
int a = 0;
Console.WriteLine(++a);  //1 출력
Console.WriteLine(a); //1 출력

후위

  • a++ 나 a– 같이 연산자가 변수 뒤에 옴
  • 해당 문장의 실행이 끝나면 변수의 값을 증감시킴
int a = 0;
Console.WriteLine(a++);  //0 출력
Console.WriteLine(a); //1 출력

조건 연산자

  • 조건식 ? 참일_떄의_값 : 거짓일_떄의_값;
  • ex) int a = false ? 20 : 10; a는 10

null 조건부 연산자

  • C# 6.0에서 도입된 기능.
  • ?.로 사용하며 객체의 멤버에 접근하기 전에 해당 객체가 null이면 null을 반환.

예시코드

class Foo
{
    public int member;
}

Foo foo = null;

int? bar;
bar = foo?.member;

/* bar = foo?.member; 는 밑의 if문과 같은 역할을 함
if (foo == null)
    bar = null;
else
    bar = foo.member;
*/
  • 추가로 객체의 멤버 접근이 아닌 배열과 같은 컬렉션 객체의 첨자를 이용해 참조할 때는 ?[]를 사용한다.
ArrayList a = null;

 ?.Add("야구"); // a가 null이 반환되어 Add가 실행되지 않음
Console.WriteLine(a?[0]); // 아무것도 출력되지 않음

a = new ArrayList(); // a는 이제 null이 아님

Console.WriteLine(a?[0]);

실행결과

1

태그:

카테고리:

업데이트:

댓글남기기