c#(26)
-
6장 - BCL - 2
System.String 문자열 비교시 대소문자 구분용 오버로드 함수EndsWith, IndexOf, StartsWith이 메서드들에 StringComparison.OrdinalIgnoreCase를 전달하면 구분없이 비교. System.Text.StringBuilder닷넷에서 string은 불변객체이다.때문에 string에 관련된 모든 변환은 새로운 메모리 할당을 발생시킨다. StringBuilder는 내부에 일정한 양의 메모리를 미리 할당하고추가되는 문자열이 할당해 놓은 양보다 많아지면 새롭게 여유분을 할당한다.ToString을 호출하면 연속적으로 연결된 하나의 문자열로 반환한다. System.Text.Encoding우리가 컴퓨터화면에서 보는 문자는 단지 특정 기호나 숫자의 대체품일뿐.국가별, 기능별 ..
2014.12.08 -
6장 - BCL - 1
BCLBCL은 당연하게도 Base Class Library의 약자.입/출력 및 프로그램의 처리에 도움을 주는 여러 기능을 제공하고 있다. System.DateTime DateTime now = DataTime.Nowstatic속성인 Now를 통해 현재 날짜/시간을 알아낼 수 있다. static void Main(string[] args) { DateTime before = DateTime.Now; Sum(); DateTime after = DateTime.Now; long gap = after.Ticks - before.Ticks; Console.WriteLine("Total ticks : " + gap); Console.WriteLine("Milliseconds : " + (gap / 10000)); ..
2014.12.07 -
5장 - 5
가비지 수집기(Gabage Collector) CLR의 힙은 세대(generation)를 나눠 관리. static void Main(string[] args) { object pg = new object(); Console.WriteLine(GC.GetGeneration(pg));// result : 0 GC.Collect();// GC 수집 Console.WriteLine(GC.GetGeneration(pg));// result : 1 GC.Collect();// GC 수집 Console.WriteLine(GC.GetGeneration(pg));// result : 2 GC.Collect();// GC 수집 Console.WriteLine(GC.GetGeneration(pg));// result : 2..
2014.12.02 -
5장 - 4
예외 (Exception) 예외 발생시 CLR은 예외를 전파하는데이 자체도 특정한 Type의 인스턴스이다. 이미 정의되어 있는 예외타입을 비롯하여 모든 예외는 관례상 다음 규칙을 따른다.- 개발자가 정의하는 예외는 System.Exception을 상속받은 System.ApplicationException을 상속받는다.- 접미사로 Exception을 클래스명에 추가한다.- CLR에서 미리 정의된 예외는 System.SystemException을 상속받는다. But 최근에는 개발자가 만드는 예외도 System.Exception을 상속받도록 권장하고 있는데MS에서도 내부적으로 위의 관례를 따르지 않았기 때문이란다. 예외 처리CLR은 예외 발생시 예외 처리기가 있을 경우 해당 예외 처리기로 예외를 넘기며,그렇지..
2014.11.27 -
5장 - 3
버전 관리 닷넷에서는 1. 전역 어셈블리 캐시 (Global Assembly Cache) - GAC2. 강력한 이름의 어셈블리 (string-named assembly0 두 가지를 가지고 버전관리를 한다. MS에서 제공하는 개인키 생성용 파일인 sn.exe를 개발자 명령프롬프트에서 실행sn -k temp.snk하면 temp.snk라는 개인키가 담긴 파일을 생성한다.이 파일을 이용하여 공개키 토큰값을 어셈블리 파일명에 부여할 수 있다. 이 공개키 토큰이 적용된 어셈블리를 [강력한 이름의 어셈블리] 라고 지칭한다. *서명 **닷넷 프레임워크가 설치되면 C:\Windows\assembly라는 폴더가 생성되고 전역 어셈블리 캐시(GAC)라고 부르는 전용 어셈블리 저장소로 사용된다. 오직 [강력한 이름의 어셈블리..
2014.11.24 -
5장 - 2
AssemblyInfo.cs 비주얼 스튜디오로 프로젝트를 만들었다면Properties라는 폴더가 기본적으로 생성되고 그 하위에 AssemblyInfo.cs 파일이 있다.이 안에는 어셈블리 단위로 지정된 특성들이 존재하며대부분 프로젝트를 설명하기 위한 용도로 사용된다. checked, unchecked오버플로우나 언더플로우 발생시 예외 발생시키고 강제 종료. short c = 32767;checked{ ++c; // exception} params가변인자.void PrintAll ( params object[] vals ) app.config닷넷어플리케이션을 실행하면 CLR이 초기화 되고 C#코드들이 실행된다.이때 CLR 초기화 과정에 뭔가 관여하고 싶을 때가 있지만 순서 문제 때문에 불가능하다. app...
2014.11.23