일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Javascript
- CS
- Direct2D
- 배열
- Programming
- Tips프로그래밍강좌
- tipssoft
- Tips강좌
- 백준
- 리뷰
- 프로그래밍
- Visual Studio
- 함수
- c#
- Win32
- 알고리즘
- c++
- 문법
- c
- doit코틀린프로그래밍
- VS ERROR
- 김성엽
- Windows
- 포인터
- 연산자
- 지식나눔강좌
- Desktop
- Kotlin
- 티스토리
- 이지스퍼블리싱
- Yesterday
- Today
- Total
목록DEV/.Net (31)
F.R.I.D.A.Y.
오류 발생에 대비하기 위한 예외 처리 구문 예외 처리 임의의 수를 0으로 나누면 devided by zero라는 오류를 내면서 프로그램이 터져버린다. 가장 간단한 오류 타입이기 때문에 if 구문으로 처리하는 편이 낫지만 통제할 수 없는 경우, 혹은 외부 요인에 의한 오류라면 try-catch-finally 구문을 이용해 처리한다. try-catch 대개 분기문 등을 이용해 오류가 나지 않도록 프로그램 내에서 처리를 하지만, 경우에 따라선 분기문 처리를 하지 못하기도, 처리되지 않은 문제가 있을 수도 있다. 때문에 예외 처리 문법이 존재하는데, 대표적으로 try-catch 구문이 있다. 이 구문은 크게 세 구역으로 나뉜다. try{ // commands } catch(Exception ex){ } fina..
for, foreach, while, do-while. C++과는 달리 기본적으로 foreach를 문법 차원에서 제공한다. for 반복문 for 반복문 사용법은 C++과 동일하다 for(int i = 0; i < 10; ++i){ // commands } 대개 횟수가 정해진 경우에 사용하는 반복문. foreach C++과는 달리 항목의 수에 맞게 하나씩 값을 뽑아서 사용할 수 있도록 만들어져 있다. 약간 C++의 이터레이터와 비슷하다. int[] arr = {1,2,3,4,5,6,7}; for(int val in arr){ System.Console.WriteLine("{0}", val); } 이 방식의 이점은, for 구문으로 작성할 때와는 달리 코드 자체가 굉장히 간편하다는 점이다. 단적인 예로 다중..
if 조건문과 switch 조건문 if-else 가장 대표적인 조건 분기문으로, 사용은 C++과 동일하다. 한가지 아쉬운 점이라면 안에 들어오는 expression은 무조건 bool 타입이어야 한다. int a = 10; if(a){} 이런식의 처리가 가능하지 않다는 소리다. 때문에 논리 연산자를 이용해 무조건 true/false로 값을 주어야한다. 이 점은 좀 더 명확히 하기 위해서인듯 키워드는 동일하게 if - else로 구성되어 있다. 일부 언어에서는 else if를 하나로 묶어버리는 경우가 있는데 C#의 경우엔 여전히 C/C++을 따라 if와 else로만 구성한다. switch C++에서 진일보했다고 생각한다. 단순히 상수로만 구분하는 것이 아니라 문자열로도 판단이 가능하다.[# C++에선 문자열..
null 값을 가질 수 있는 nullable 타입 자료형 자료형 일반적으로 정수 자료형은 null이란 값을 가질 수 없다. null이란 값이 존재하지 않는다 라는 뜻으로, 흔히 C에서의 (void*)0 과는 다르다.[# C++을 제외한 것은 nullptr이라 불리는 새로운, null을 의미하는 리터럴이 추가되었기 때문이다.] C#에서 nullable 타입은 컴파일시 Nullable로 변환된다.[# C++의 템플릿 클래스를 생각하면 쉽겠다.] 실제 사용은 자료형 뒤에 '?'를 붙여 사용한다. int a = null; // 오류 int? b = null; // nullable 타입으로 선언했기 때문에 가능 null 체크 변수가 null을 가졌는지 확인하기 위해서는 아래와 같은 방법을 이용할 수 있다. int..
특정 상수를 의미를 가지는 문자열로 표현할 수 있도록 제공하는 문법 열거형 프로그래밍을 하다보면 특정 값이 들어왔을 때 특정 동작을 수행하는 함수나 객체를 만드는 경우가 허다하다. 이럴 때 특정 작업을 수행하기 위한 입력값이 숫자로 표현되었을 때, 그리고 그런 숫자가 많을 때는 숫자 하나를 잘못 작성해 semantic 오류[# 논리적 오류로, 프로그래밍 문법 자체는 맞지만 기획 의도와 맞지 않는 행동을 수행하는 문제를 시맨틱 에러라고 부른다]를 부른다. 위치 이런 문제는 특정 값이 가지는 의미를 바로 알 수 있도록 하는 것이 문제 해결의 실마리가 될 수 있는데, 이 때 열거형이 큰 도움이 된다. 일단 열거형은 아래와 같은 상황에 선언이 가능하다. 클래스 및 네임스페이스 안쪽 바로 윗 스코프가 메서드, 함..
C#에서 사용하는 두 가지 방식의 문자열 처리 string 컴파일 진행시 string 자료형을 .net 자료형인 System.String 타입으로 전환해 컴파일을 진행한다. 때문에 string으로 작성하더라도 System.String에 선언된 모든 내부 프로퍼티 및 메서드를 사용할 수 있다. 관리 방식 string 자료형은 객체를 변수가 가리키는 방식으로 문자열을 처리하고, 새로운 문자열을 대입했을 때는 객체를 수정하지 않고 새로운 객체를 만들어 해당 객체를 변수가 가리키는 방식으로 처리한다. 즉, C/C++에서의 const char* 타입의 문자열 상수를 가리키는 방식이라 보면 될 것 같다. 개별 문자 접근 이렇게 작성된 문자열은 문자의 집합체로서, 문자열의 개별 문자에 접근할 때는 배열 연산자로 사용..
C# 자료형 및 변수 선언 # 해당 시리즈는 C++과 비교하며 포스트가 진행됩니다. # 기반은 링크된 사이트입니다. 자료형 C#은 기본적으로 128bit 정수까지 표현 가능한 .Net 자료형을 제공한다. 대부분 C++과 비슷한 구성을 가지고 있으며, 선언 또한 비슷하다. bool true/false (s)byte 8비트 (unsinged) 정수 (u)short 16비트 (unsigned) 정수 (u)int 32비트 (unsigned) 정수 (u)long 64비트 (unsigned) 정수 float 32비트 단정밀도 부동소수점 double 64비트 배정밀도 부동소수점 decimal 128비트 정수 char 16비트 유니코드 문자 string 유니코드 문자열 System.DateTime 날짜 및 시간(C# ..
Microsoft가 주력으로 밀고 있는 C#을 비롯한 .Net 기반 언어를 실행하는 프레임워크 .Net Framework .Net Framework는 MS사에서 개발한 Windows용 프로그램 개발 및 실행 환경으로[# https://ko.wikipedia.org/wiki/%EB%8B%B7%EB%84%B7_%ED%94%84%EB%A0%88%EC%9E%84%EC%9B%8C%ED%81%AC] 네트워크 작업, 인터페이스 등의 작업이 포함되어있으며, 공통 언어 런타임(Common Language Runtime, CLR)이란 가상 머신[# 자바 프로그램을 실행하기 위핸 JVM 또한 가상머신의 일종이다.] 위에서 동작한다. .Net Framework는 가상 머신 역할로서 이것만 설치하면 어떤 플랫폼이더라도 .Net..
XdobeFixGUI이 3.0으로 돌아왔습니다. 일전에 7월 중에 개발을 완료하겠다고 다짐했었는데, 막상 7월이 끝무렵에 다달았을 땐 다른 프로젝트가 있어서 개발을 늦추고 있었네요. 대락 보름정도 늦은 듯 싶습니다. 다운로드 외관 이전 v1.0과 v2.0처럼 외형 변경이 조금 있습니다. 사용법 찾기 버튼에서 오른쪽 마우스를 클릭해 자동 검색 기능을 이용할 수 있습니다. 애프터이펙트 설치시 설치 위치를 컴퓨터 레지스트리에 등록하게 되는데, 이 위치를 찾습니다. 제대로 검색되지 않을 수 있습니다. 폴더를 선택했다면 하단의 교정 버튼을 눌러 교정을 진행할 수 있습니다. 교정이 완료되면 결과가 하단 상태바에 표시되며, 각 항목의 성공 여부가 트리뷰에 보여집니다. 각 항목을 눌렀을 때 오른쪽 박스에서 세부 내용을..