C# Chapter 4 연산자
이 글은 한빛미디어의 이것이 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]);
실행결과
댓글남기기