시작하세요! C# 12 프로그래밍 : 기본 문법부터 실전 예제까지 - 위키북스 프로그래밍&프랙티스 시리즈 36

시작하세요! C# 12 프로그래밍 : 기본 문법부터 실전 예제까지 - 위키북스 프로그래밍&프랙티스 시리즈 36

$44.94
저자

정성태

저자:정성태
C/C++경력을시작으로㈜닷넷엑스퍼트에서7년넘게다양한분야의응용프로그램개발을한후현재는㈜제니퍼소프트에서성능관리솔루션의닷넷버전개발을담당하고있다.개인적으로는블로그를통해개발관련지식을공유하고있으며,2004년부터C/C++,C#분야에서마이크로소프트의MVP로활동하고있다.

목차

[PART01]C#

01장소개
1.1닷넷
___1.1.1닷넷호환언어
___1.1.2공통중간언어(CIL:CommonIntermediateLanguage)
___1.1.3공용타입시스템
___1.1.4공용언어사양
___1.1.5메타데이터
___1.1.6어셈블리,모듈,매니페스트
___1.1.7공용언어기반구조
___1.1.8공용언어런타임(CLR:CommonLanguageRuntime)
___1.1.9닷넷
___1.1.10C#과닷넷의관계
1.2닷넷프레임워크,닷넷코어와닷넷표준
1.3닷넷으로새롭게명명
정리

02장개발환경준비
2.1기본예제
2.2편집기+명령행컴파일러사용
2.3비주얼스튜디오개발환경
2.4두가지유형의예제코드
2.5윈도우운영체제이외의개발환경
2.6닷넷역컴파일러
정리

03장C#기초
3.1기본자료형
___3.1.1정수형기본타입
___3.1.2실수형기본타입
___3.1.3문자형기본타입
___3.1.4불린(boolean)형기본타입
___3.1.5마치며
3.2형변환
___3.2.1암시적변환
___3.2.2명시적변환
3.3기본문법요소
___3.3.1예약어,키워드
___3.3.2식별자
___3.3.3리터럴
___3.3.4변수
___3.3.5상수
___3.3.6연산자,문장부호
3.4배열
___3.4.1다차원배열
___3.4.2.가변배열
3.5제어문
___3.5.1선택문
___3.5.2반복문
___3.5.3점프문
정리

04장C#객체지향문법
4.1클래스
___4.1.1필드
___4.1.2메서드
___4.1.3생성자
___4.1.4종료자
___4.1.5정적멤버,인스턴스멤버
___4.1.6네임스페이스
4.2캡슐화
___4.2.1접근제한자
___4.2.2정보은닉
___4.2.3프로퍼티
4.3상속
___4.3.1형변환
___4.3.2모든타입의조상:System.Object
___4.3.3모든배열의조상:System.Array
___4.3.4this
___4.3.5base
4.4다형성
___4.4.1메서드오버라이드
___4.4.2오버로드
4.5C#의클래스확장
___4.5.1타입유형확장
___4.5.2멤버유형확장
정리

05장C#1.0완성하기
5.1문법요소
___5.1.1구문
___5.1.2연산자
___5.1.3예약어
정리
5.2프로젝트구성
___5.2.1다중소스코드파일
___5.2.2라이브러리
___5.2.3디버그빌드와릴리스빌드
___5.2.4플랫폼(x86,x64,ARM32,ARM64,AnyCPU)선택
5.3예외
___5.3.1예외타입
___5.3.2예외처리기
___5.3.3호출스택
___5.3.4예외발생
___5.3.5사용자정의예외타입
___5.3.6올바른예외처리
5.4힙과스택
___5.4.1스택
___5.4.2힙
정리

06장BCL(BaseClassLibrary).
6.1시간
___6.1.1System.DateTime
___6.1.2System.TimeSpan
___6.1.3System.Diagnostics.Stopwatch
6.2문자열처리
___6.2.1System.String
___6.2.2System.Text.StringBuilder
___6.2.3System.Text.Encoding
___6.2.4System.Text.RegularExpressions.Regex
6.3직렬화/역직렬화
___6.3.1System.BitConverter
___6.3.2System.IO.MemoryStream
___6.3.3System.IO.StreamWriter/System.IO.StreamReader
___6.3.4System.IO.BinaryWriter/System.IO.BinaryReader
___6.3.5System.Xml.Serialization.XmlSerializer
___6.3.6System.Text.Json.JsonSerializer
6.4컬렉션
___6.4.1System.Collections.ArrayList
___6.4.2System.Collections.Hashtable
___6.4.3System.Collections.SortedList
___6.4.4System.Collections.Stack
___6.4.5System.Collections.Queue
6.5파일
___6.5.1System.IO.FileStream
___6.5.2System.IO.File/System.IO.FileInfo
___6.5.3System.IO.Directory/System.IO.DirectoryInfo
___6.5.4System.IO.Path
6.6스레딩
___6.6.1System.Threading.Thread
___6.6.2System.Threading.Monitor
___6.6.3System.Threading.Interlocked
___6.6.4System.Threading.ThreadPool
___6.6.5System.Threading.EventWaitHandle
___6.6.6비동기호출
___6.6.7System.Delegate의비동기호출
6.7네트워크통신
___6.7.1System.Net.IPAddress
___6.7.2포트
___6.7.3System.Net.IPEndPoint
___6.7.4System.Net.Dns
___6.7.5System.Net.Sockets.Socket
___6.7.6System.Net.Http.HttpClient
6.8데이터베이스
___6.8.1마이크로소프트SQL서버
___6.8.2ADO.NET데이터제공자
___6.8.3데이터컨테이너
___6.8.4데이터베이스트랜잭션
6.9리플렉션
___6.9.1AppDomain과Assembly
___6.9.2Type과리플렉션
___6.9.3리플렉션을이용한확장모듈구현
6.10기타
___6.10.1윈도우레지스트리
___6.10.2BigInteger
___6.10.3IntPtr

[PART02]C#고급문법

07장C#2.0
7.1제네릭
___7.1.1형식매개변수에대한제약조건
___7.1.2BCL에적용된제네릭
7.2연산자(null병합연산자)
7.3default예약어
7.4yieldreturn/break
7.5부분(partial)클래스
7.6nullable형식
7.7익명메서드
7.8정적클래스

08장C#3.0
8.1var예약어
8.2자동구현속성
8.3개체초기화(Objectinitializers)
8.4컬렉션초기화
8.5익명타입
8.6부분메서드
8.7확장메서드
8.8람다식
___8.8.1코드로서의람다식
___8.8.2데이터로서의람다식
8.9LINQ
___8.9.1where,orderby,groupby,join
___8.9.2표준쿼리연산자
___8.9.3일관된데이터조회

09장C#4.0
9.1선택적매개변수와명명된인수
9.2dynamic예약어
___9.2.1리플렉션개선
___9.2.2덕타이핑
___9.2.3동적언어와의타입연동
9.3동시성컬렉션(ConcurrentCollections)

10장C#5.0
10.1호출자정보
10.2비동기호출
___10.2.1닷넷BCL에추가된Async메서드
___10.2.2Task,Task타입
___10.2.3async예약어가적용된메서드의반환타입
___10.2.4Async메서드가아닌경우의비동기처리
___10.2.5비동기호출의병렬처리

11장C#6.0
11.1자동구현속성의초기화구문추가
11.2표현식을이용한메서드,속성및인덱서정의
11.3usingstatic구문을이용한타입명생략
11.4null조건연산자
11.5문자열내에식(expression)을포함
11.6nameof연산자
11.7Dictionary타입의인덱스초기화
11.8예외필터
11.9컬렉션초기화구문에확장메서드로정의한Add지원
11.10기타개선사항

12장C#7.0
12.1더욱편리해진out매개변수사용
12.2반환값및로컬변수에ref기능추가(refreturnsandlocals)
12.3튜플
12.4Deconstruct메서드
12.5람다식을이용한메서드정의확대(Expression-bodiedmembers)
12.6로컬함수(Localfunctions)
12.7사용자정의Task타입을async메서드의반환타입으로사용가능
12.8자유로워진throw사용
12.9리터럴에대한표현방법개선
12.10패턴매칭
___12.10.1is연산자의패턴매칭
___12.10.2switch/case문의패턴매칭

13장C#7.1
13.1Main메서드에async예약어허용
13.2default리터럴추가
13.3타입추론을통한튜플의변수명자동지정
13.4기타개선사항

14장C#7.2
14.1메서드의매개변수에in변경자추가
14.2읽기전용(readonly)구조체
14.3메서드의반환값및로컬변수에refreadonly추가
14.4스택에만생성할수있는값타입지원-refstruct
14.5신규추가타입:Span
14.63항연산자에ref지원
14.7privateprotected접근자추가
14.8숫자리터럴의선행밑줄
14.9뒤

출판사 서평

이책의목표는여러분이C#을이용해프로그래밍기초를탄탄하게다질수있게하는것이다.이를위해C#언어의최신버전인C#12의문법까지구체적인예제와함께상세히설명하며,단순히언어의문법을습득하는데그치지않고실제로프로그램을제작할수있는단계까지학습할수있게구성했다.

이번개정판에서는C#12에서개선된다양한언어적특성을다룬다.

레코드/구조체/네임스페이스개선
보간된상수문자열
확장속성패턴
람다기능향상
호출자인수식

이책을덮으면서이제한가지를결정해야한다.

*더공부할것인가?
*아니면뭔가를만들어볼것인가?

더공부하면그만큼알게되어나중에만들고싶은프로그램이있을때시행착오를덜겪으면서편하게작업할수있다.반면뭔가를만들게된다면부족한지식으로인해초기에어려움을겪겠지만만들어질프로그램에필요한사항을빠르게습득한다는점과자신만의프로그램을완성해봄으로써얻어지는독특한경험이남는다.
프로그래밍은만드는재미도있고,공부하는재미도있다.결정을내렸으면이제부터그냥재미에푹빠져들면된다.

[소스코드다운로드&홈페이지]
이책에서설명한소스코드를내려받거나읽으면서문의사항이생기면아래사이트를방문해서해결할수있다.