λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
βœ’οΈ Wikibooks C# Supporters

[Wikibooks C# Supporters] "μ‹œμž‘ν•˜μ„Έμš”! C# ν”„λ‘œκ·Έλž˜λ°" λ„μ„œ ν›„κΈ° 및 μ„œν‰

by A Lim Han 2022. 12. 4.

 μ•ˆλ…•ν•˜μ„Έμš”~ 이번 μœ„ν‚€λΆμŠ€ C# μ„œν¬ν„°μ¦ˆλ‘œ ν™œλ™μ„ μ‹œμž‘ν•˜λ©° < μ‹œμž‘ν•˜μ„Έμš”! C# ν”„λ‘œκ·Έλž˜λ° >λ„μ„œλ₯Ό μ ‘ν•˜κ²Œ λ˜μ—ˆμŠ΅λ‹ˆλ‹€. λ„μ„œμ— ν₯λ―Έλ‘œμ› λ˜ 점이 λ§Žμ•„ μ˜€λŠ˜μ€ μœ„ λ„μ„œμ— λŒ€ν•œ μ†Œκ°œ 및 ν›„κΈ°λ₯Ό μ μ–΄λ³΄κ³ μž ν•©λ‹ˆλ‹€. ν¬μŠ€νŒ…μ€ λ„μ„œ μ†Œκ°œ, λŒ€μƒ λ…μž, λ„μ„œ ꡬ성과 λ„μ„œμ˜ νŠΉμ§•μœΌλ‘œ μ΄μ–΄μ§‘λ‹ˆλ‹€.

 

 

 

# λ„μ„œ μ†Œκ°œ 및 λŒ€μƒ λ…μž

 μœ„ λ„μ„œμ˜ 경우 총 948p둜 μƒλ‹Ήνžˆ λ‘κΊΌμš΄ νŽΈμ— μ†ν•˜λŠ”λ°, 그만큼 C# 언어와 ν”„λ‘œκ·Έλž˜λ°μ— λŒ€ν•œ λ‚΄μš©μ„ μ„Έμ„Ένžˆ 배울 수 μžˆλŠ” ꡬ성을 κ°–μΆ”κ³  μžˆμŠ΅λ‹ˆλ‹€.

 

 μœ„ λ„μ„œκ°€ λŒ€μƒμœΌλ‘œ ν•˜λŠ” λ…μžλŠ” 총 3가지 λΆ€λ₯˜λ‘œ λ‚˜λ‰˜μ–΄μ Έ μžˆλŠ”λ°, κ·Έ λ‚΄μš©μ€ λ‹€μŒκ³Ό κ°™μŠ΅λ‹ˆλ‹€.

1. 컴퓨터 κ΄€λ ¨ 학과에 μž¬ν•™ 쀑인 학생
2. C# μ–Έμ–΄μ˜ λ°œμ „μ„ 따라가지 λͺ»ν•œ κ²½λ ₯ 개발자
3. λ‹€λ₯Έ μ–Έμ–΄λ₯Ό κ³΅λΆ€ν•œ κ²½ν—˜μ΄ μžˆλŠ” 개발자

 μ°¨ν›„ μ„€λͺ…λ“œλ¦΄ μ±…μ˜ ꡬ성 및 λͺ©μ°¨μ—μ„œλ„ λ‚˜νƒ€λ‚˜λ‹€μ‹œν”Ό, 컴퓨터 μ–Έμ–΄λ₯Ό ν•™μŠ΅ν•œ κ²½ν—˜μ΄ μžˆκ±°λ‚˜, ν”„λ‘œκ·Έλž˜λ°μ„ 접해보신 λΆ„λ“€κ»˜λŠ” C# κ³΅λΆ€μ˜ 쒋은 μ‘°λ ₯μžκ°€ λ˜μ§€ μ•Šμ„κΉŒ μƒκ°ν•©λ‹ˆλ‹€.

 

 

 

# λ„μ„œ ꡬ성

 μœ„ λ„μ„œλŠ” 총 3뢀와 λΆ€λ‘μœΌλ‘œ κ΅¬μ„±λ˜μ–΄μžˆμŠ΅λ‹ˆλ‹€.

 λ³Έ λ‚΄μš©μ„ 담은 3λΆ€μ—μ„œλŠ” 1λΆ€, 2λΆ€, 3λΆ€ μˆœμ„œλ‘œ 크게 κΈ°λ³Έ 문법, μ‘μš© 및 심화 문법, C# 언어와 κ΄€λ ¨λœ μ‘μš© ν”„λ‘œκ·Έλž¨κ³Ό κ΄€λ ¨λœ λ‚΄μš©μ„ λ‹€λ£Ήλ‹ˆλ‹€.

 

 μ±…μ˜ λ§ˆμ§€λ§‰ 뢀뢄에 수둝된 뢀둝 λΆ€λΆ„μ˜ 경우 μ†ŒμŠ€μ½”λ“œ μ •λ³΄λ‚˜ μ˜€νƒˆμž 정보, λ‹€μ΄μ–΄κ·Έλž¨ PPT νŒŒμΌμ΄λ‚˜ 질문 및 닡변에 κ΄€ν•œ λ‚΄μš©μ„ 닀루고 μžˆμŠ΅λ‹ˆλ‹€.

 

 μ•„λž˜λŠ” κ³΅κ°œλ˜μ–΄μžˆλŠ” λ„μ„œμ˜ λͺ©μ°¨μž…λ‹ˆλ‹€.

더보기

λͺ©μ°¨

[1λΆ€] C#

β–£ 01μž₯: λ“€μ–΄κ°€λ©΄μ„œ
1.1 λ‹·λ„· ν”„λ ˆμž„μ›Œν¬
__1.1.1 λ‹·λ„· ν˜Έν™˜ μ–Έμ–΄
__1.1.2 곡톡 쀑간 μ–Έμ–΄
__1.1.3 곡용 νƒ€μž… μ‹œμŠ€ν…œ
__1.1.4 곡용 μ–Έμ–΄ 사양
__1.1.5 메타데이터
__1.1.6 μ–΄μ…ˆλΈ”λ¦¬, λͺ¨λ“ˆ, λ§€λ‹ˆνŽ˜μŠ€νŠΈ
__1.1.7 곡용 μ–Έμ–΄ 기반ꡬ쑰
__1.1.8 곡용 μ–Έμ–΄ λŸ°νƒ€μž„
__1.1.9 λ‹·λ„· ν”„λ ˆμž„μ›Œν¬
__1.1.10 C#κ³Ό λ‹·λ„· ν”„λ ˆμž„μ›Œν¬μ˜ 관계
1.2 λ‹·λ„· 코어와 λ‹·λ„· ν‘œμ€€
1.3 λ‹·λ„· 5(.NET 5)

β–£ 02μž₯: 개발 ν™˜κ²½ μ€€λΉ„
2.1 기본 예제
2.2 νŽΈμ§‘κΈ° + λͺ…λ Ήν–‰ 컴파일러 μ‚¬μš©
__2.2.1 λ‹·λ„· ν”„λ ˆμž„μ›Œν¬ λͺ…λ Ήν–‰
__2.2.2 λ‹·λ„· μ½”μ–΄ λͺ…λ Ήν–‰
2.3 λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€ 개발 ν™˜κ²½
2.4 μœˆλ„μš° 운영체제 μ΄μ™Έμ˜ 개발 ν™˜κ²½
2.5 λ‹·λ„· μ—­μ»΄νŒŒμΌλŸ¬

β–£ 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.4.1 두 가지 μ €μž₯μ†Œ: μŠ€νƒκ³Ό νž™
____3.3.4.2 κ°’ ν˜•μ‹μ„ κ°€λ¦¬ν‚€λŠ” λ³€μˆ˜
____3.3.4.3 μ°Έμ‘° ν˜•μ‹μ„ κ°€λ¦¬ν‚€λŠ” λ³€μˆ˜
____3.3.4.4 κΈ°λ³Έκ°’
__3.3.5 μƒμˆ˜
__3.3.6 μ—°μ‚°μž, λ¬Έμž₯ λΆ€ν˜Έ
3.4 λ°°μ—΄
__3.4.1 닀차원 λ°°μ—΄
__3.4.2 κ°€λ³€ λ°°μ—΄
3.5 μ œμ–΄λ¬Έ
__3.5.1 선택문
____3.5.1.1 관계 μ—°μ‚°μž, 논리 μ—°μ‚°μž
____3.5.1.2 if λ¬Έ
____3.5.1.3 switch λ¬Έ
__3.5.2 반볡문
____3.5.2.1 증감 μ—°μ‚°μž, 볡합 λŒ€μž… μ—°μ‚°μž
____3.5.2.2 for λ¬Έ
____3.5.2.3 쀑첩 루프
____3.5.2.4 foreach λ¬Έ
____3.5.2.5 while λ¬Έ
__3.5.3 점프문
____3.5.3.1 break λ¬Έ
____3.5.3.2 continue λ¬Έ
____3.5.3.3 goto λ¬Έ

β–£ 04μž₯: C# 객체지ν–₯ 문법
4.1 클래슀
__4.1.1 ν•„λ“œ
__4.1.2 λ©”μ„œλ“œ
____4.1.2.1 쀑볡 μ½”λ“œ 제거
____4.1.2.2 μ½”λ“œ 좔상화
__4.1.3 μƒμ„±μž
__4.1.4 μ’…λ£Œμž
__4.1.5 정적 멀버, μΈμŠ€ν„΄μŠ€ 멀버
____4.1.5.1 정적 ν•„λ“œ
____4.1.5.2 정적 λ©”μ„œλ“œ
____4.1.5.3 정적 μƒμ„±μž
__4.1.6 λ„€μž„μŠ€νŽ˜μ΄μŠ€
4.2 μΊ‘μŠν™”
__4.2.1 μ ‘κ·Ό μ œν•œμž
__4.2.2 정보 은닉
__4.2.3 ν”„λ‘œνΌν‹°
4.3 상속
__4.3.1 ν˜•λ³€ν™˜
____4.3.1.1 as, is μ—°μ‚°μž
__4.3.2 λͺ¨λ“  νƒ€μž…μ˜ 쑰상: System.Object?
____4.3.2.1 ToString
____4.3.2.2 GetType
____4.3.2.3 Equals
____4.3.2.4 GetHashCode
__4.3.3 λͺ¨λ“  λ°°μ—΄μ˜ 쑰상: System.Array
__4.3.4 this
____4.3.4.1 this와 μΈμŠ€ν„΄μŠ€/정적 λ©€λ²„μ˜ 관계
__4.3.5 base
4.4 λ‹€ν˜•μ„±
__4.4.1 λ©”μ„œλ“œ μ˜€λ²„λΌμ΄λ“œ
____4.4.1.1 baseλ₯Ό μ΄μš©ν•œ λ©”μ„œλ“œ μž¬μ‚¬μš©
____4.4.1.2 object κΈ°λ³Έ λ©”μ„œλ“œ ν™•μž₯
__4.4.2 μ˜€λ²„λ‘œλ“œ
____4.4.2.1 λ©”μ„œλ“œ μ˜€λ²„λ‘œλ“œ
____4.4.2.2 μ—°μ‚°μž μ˜€λ²„λ‘œλ“œ
____4.4.2.3 클래슀 κ°„μ˜ ν˜•λ³€ν™˜
4.5 C#의 클래슀 ν™•μž₯
__4.5.1 νƒ€μž… μœ ν˜• ν™•μž₯
____4.5.1.1 쀑첩 클래슀
____4.5.1.2 좔상 클래슀
____4.5.1.3 델리게이트
____4.5.1.4 μΈν„°νŽ˜μ΄μŠ€
____4.5.1.5 ꡬ쑰체
____4.5.1.6 μ—΄κ±°ν˜•
__4.5.2 멀버 μœ ν˜• ν™•μž₯
____4.5.2.1 읽기 μ „μš© ν•„λ“œ
____4.5.2.2 μƒμˆ˜
____4.5.2.3 이벀트
____4.5.2.4 μΈλ±μ„œ

β–£ 05μž₯: C# 1.0 μ™„μ„±ν•˜κΈ°
5.1 문법 μš”μ†Œ
__5.1.1 ꡬ문
____5.1.1.1 μ „μ²˜λ¦¬κΈ° μ§€μ‹œλ¬Έ
____5.1.1.2 지역 λ³€μˆ˜μ˜ 유효 λ²”μœ„
____5.1.1.3 λ¦¬ν„°λŸ΄μ—λ„ μ μš©λ˜λŠ” νƒ€μž…
____5.1.1.4 νŠΉμ„±
__5.1.2 μ—°μ‚°μž
____5.1.2.1 μ‹œν”„νŠΈ μ—°μ‚°μž
____5.1.2.2 λΉ„νŠΈ 논리 μ—°μ‚°μž
____5.1.2.3 μ—°μ‚°μž μš°μ„ μˆœμœ„
__5.1.3 μ˜ˆμ•½μ–΄
____5.1.3.1 μ—°μ‚° λ²”μœ„ 확인: checked, unchecked
____5.1.3.2 κ°€λ³€ λ§€κ°œλ³€μˆ˜: params
____5.1.3.3 Win32 API 호좜: extern
____5.1.3.4 μ•ˆμ „ν•˜μ§€ μ•Šμ€ μ»¨ν…μŠ€νŠΈ: unsafe
____5.1.3.5 μ°Έμ‘° ν˜•μ‹μ˜ 멀버에 λŒ€ν•œ 포인터: fixed
____5.1.3.6 κ³ μ • 크기 버퍼: fixed
____5.1.3.7 μŠ€νƒμ„ μ΄μš©ν•œ κ°’ ν˜•μ‹ λ°°μ—΄: stackalloc
5.2 ν”„λ‘œμ νŠΈ ꡬ성
__5.2.1 닀쀑 μ†ŒμŠ€μ½”λ“œ 파일
__5.2.2 라이브러리
____5.2.2.1 csc.exe둜 라이브러리 생성 및 μ‚¬μš©
____5.2.2.2 λΉ„μ£Όμ–Ό μŠ€νŠœλ””μ˜€μ—μ„œ 라이브러리 생성 및 μ‚¬μš©
__5.2.3 μ‘μš© ν”„λ‘œκ·Έλž¨ ꡬ성 파일: app.config
____5.2.3.1 supportedRuntime
____5.2.3.2 appSettings
__5.2.4 디버그 λΉŒλ“œμ™€ 릴리슀 λΉŒλ“œ
____5.2.4.1 DEBUG, TRACE μ „μ²˜λ¦¬ μƒμˆ˜
____5.2.4.2 Debug νƒ€μž…κ³Ό Trace νƒ€μž…
__5.2.5 ν”Œλž«νΌ(x86, x64, AnyCPU) 선택
__5.2.6 버전 관리
____5.2.6.1 μ–΄μ…ˆλΈ”λ¦¬μ˜ 버전과 이름
____5.2.6.2 κ³΅κ°œν‚€ 토큰과 μ–΄μ…ˆλΈ”λ¦¬ μ„œλͺ…
____5.2.6.3 μ „μš© μ–΄μ…ˆλΈ”λ¦¬, μ „μ—­ μ–΄μ…ˆλΈ”λ¦¬
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.1.1 μŠ€νƒ μ˜€λ²„ν”Œλ‘œ
____5.4.1.2 μž¬κ·€ 호좜
__5.4.2 νž™
____5.4.2.1 λ°•μ‹±/μ–Έλ°•μ‹±
____5.4.2.2 가비지 μˆ˜μ§‘κΈ°
____5.4.2.3 전체 가비지 μˆ˜μ§‘
____5.4.2.4 λŒ€μš©λŸ‰ 객체 νž™
____5.4.2.5 μžμ› ν•΄μ œ
____5.4.2.6 μ’…λ£Œμž

β–£ 06μž₯: BCL(Base Class Library)
6.1 μ‹œκ°„
__6.1.1 System.DateTime
__6.1.2 System.TimeSpan
__6.1.3 System.Diagnostics.Stopwatch
6.2 λ¬Έμžμ—΄ 처리
__6.2.1 System.String
__6.2.2 System.Text.StringBuilder
__6.2.3 System.Text.Encoding
__6.2.4 System.Text.RegularExpressions.Regex
6.3 직렬화/역직렬화
__6.3.1 System.BitConverter
__6.3.2 System.IO.MemoryStream
__6.3.3 System.IO.StreamWriter / System.IO.StreamReader
__6.3.4 System.IO.BinaryWriter / System.IO.BinaryReader
__6.3.5 System.Runtime.Serialization.Formatters.Binary.BinaryFormatter
__6.3.6 System.Xml.Serialization.XmlSerializer
__6.3.7 System.Runtime.Serialization.Json.DataContractJsonSerializer
6.4 μ»¬λ ‰μ…˜
__6.4.1 System.Collections.ArrayList
__6.4.2 System.Collections.Hashtable
__6.4.3 System.Collections.SortedList
__6.4.4 System.Collections.Stack
__6.4.5 System.Collections.Queue
6.5 파일
__6.5.1 System.IO.FileStream
__6.5.2 System.IO.File / System.IO.FileInfo
__6.5.3 System.IO.Directory / System.IO.DirectoryInfo
__6.5.4 System.IO.Path
6.6 μŠ€λ ˆλ”©
__6.6.1 System.Threading.Thread
__6.6.2 System.Threading.Monitor
__6.6.3 System.Threading.Interlocked
__6.6.4 System.Threading.ThreadPool
__6.6.5 System.Threading.EventWaitHandle
__6.6.6 비동기 호좜
__6.6.7 System.Delegate의 비동기 호좜
6.7 λ„€νŠΈμ›Œν¬ 톡신
__6.7.1 System.Net.IPAddress
__6.7.2 포트
__6.7.3 System.Net.IPEndPoint
__6.7.4 System.Net.Dns
__6.7.5 System.Net.Sockets.Socket
____6.7.5.1 UDP μ†ŒμΌ“
____6.7.5.2 TCP μ†ŒμΌ“
____6.7.5.3 TCP μ„œλ²„ κ°œμ„  - 닀쀑 μŠ€λ ˆλ“œμ™€ 비동기 톡신
____6.7.5.4 HTTP 톡신
__6.7.6 System.Net.HttpWebRequest
__6.7.7 System.Net.WebClient
6.8 λ°μ΄ν„°λ² μ΄μŠ€
__6.8.1 λ§ˆμ΄ν¬λ‘œμ†Œν”„νŠΈ SQL μ„œλ²„
____6.8.1.1 μ‹€μŠ΅μš© λ°μ΄ν„°λ² μ΄μŠ€ μ€€λΉ„
____6.8.1.2 SQL 쿼리
__6.8.2 ADO.NET 데이터 제곡자
____6.8.2.1 System.Data.SqlClient.SqlConnection
____6.8.2.2 System.Data.SqlClient.SqlCommand
____6.8.2.3 System.Data.SqlClient.SqlDataReader
____6.8.2.4 System.Data.SqlClient.SqlParameter
____6.8.2.5 System.Data.SqlClient.SqlDataAdapter
__6.8.3 데이터 μ»¨ν…Œμ΄λ„ˆ
____6.8.3.1 일반 λ‹·λ„· 클래슀
____6.8.3.2 System.Data.DataSet
____6.8.3.3 Typed DataSet
__6.8.4 λ°μ΄ν„°λ² μ΄μŠ€ νŠΈλžœμž­μ…˜
6.9 λ¦¬ν”Œλ ‰μ…˜
__6.9.1 AppDomainκ³Ό Assembly
__6.9.2 Typeκ³Ό λ¦¬ν”Œλ ‰μ…˜
__6.9.3 λ¦¬ν”Œλ ‰μ…˜μ„ μ΄μš©ν•œ ν™•μž₯ λͺ¨λ“ˆ κ΅¬ν˜„
6.10 기타
__6.10.1 μœˆλ„μš° λ ˆμ§€μŠ€νŠΈλ¦¬
__6.10.2 BigInteger
__6.10.3 IntPtr

[2λΆ€] C# κ³ κΈ‰ 문법

β–£ 07μž₯: C# 2.0
7.1 μ œλ„€λ¦­
__7.1.1 ν˜•μ‹ λ§€κ°œλ³€μˆ˜μ— λŒ€ν•œ μ œμ•½ 쑰건
__7.1.2 BCL에 적용된 μ œλ„€λ¦­
7.2 ?? μ—°μ‚°μž(null 병합 μ—°μ‚°μž)
7.3 default μ˜ˆμ•½μ–΄
7.4 yield return/break
7.5 λΆ€λΆ„(partial) 클래슀
7.6 nullable ν˜•μ‹
7.7 읡λͺ… λ©”μ„œλ“œ
7.8 정적 클래슀

β–£ 08μž₯: C# 3.0
8.1 var μ˜ˆμ•½μ–΄
8.2 μžλ™ κ΅¬ν˜„ 속성
8.3 객체 μ΄ˆκΈ°ν™”
8.4 μ»¬λ ‰μ…˜ μ΄ˆκΈ°ν™”
8.5 읡λͺ… νƒ€μž…
8.6 λΆ€λΆ„ λ©”μ„œλ“œ
8.7 ν™•μž₯ λ©”μ„œλ“œ
8.8 λžŒλ‹€ 식
__8.8.1 μ½”λ“œλ‘œμ„œμ˜ λžŒλ‹€ 식
____8.8.1.1 λžŒλ‹€ λ©”μ„œλ“œλ₯Ό μœ„ν•œ μ „μš© 델리게이트
____8.8.1.2 μ»¬λ ‰μ…˜κ³Ό λžŒλ‹€ λ©”μ„œλ“œ
__8.8.2 λ°μ΄ν„°λ‘œμ„œμ˜ λžŒλ‹€ 식
8.9 LINQ
__8.9.1 where, orderby, group by, join
__8.9.2 ν‘œμ€€ 쿼리 μ—°μ‚°μž
__8.9.3 μΌκ΄€λœ 데이터 쑰회

β–£ 09μž₯: C# 4.0
9.1 선택적 λ§€κ°œλ³€μˆ˜μ™€ λͺ…λͺ…λœ 인수
9.2 dynamic μ˜ˆμ•½μ–΄
__9.2.1 λ¦¬ν”Œλ ‰μ…˜ κ°œμ„ 
__9.2.2 덕 타이핑
__9.2.3 동적 μ–Έμ–΄μ™€μ˜ νƒ€μž… 연동

β–£ 10μž₯: C# 5.0
10.1 호좜자 정보
10.2 비동기 호좜
__10.2.1 λ‹·λ„· 4.5 BCL에 μΆ”κ°€λœ Async λ©”μ„œλ“œ
__10.2.2 Task, Taskγ€ˆTResult〉 νƒ€μž…
__10.2.3 async μ˜ˆμ•½μ–΄κ°€ 적용된 λ©”μ„œλ“œμ˜ λ°˜ν™˜ νƒ€μž…
__10.2.4 Async λ©”μ„œλ“œκ°€ μ•„λ‹Œ 경우의 비동기 처리
__10.2.5 비동기 호좜의 병렬 처리

β–£ 11μž₯: C# 6.0
11.1 C# 3.0에 μ†Œκ°œλœ μžλ™ κ΅¬ν˜„ μ†μ„±μ˜ μ΄ˆκΈ°ν™” ꡬ문 μΆ”κ°€
11.2 λžŒλ‹€ 식을 μ΄μš©ν•œ λ©”μ„œλ“œ, 속성 및 μΈλ±μ„œ μ •μ˜
11.3 using static ꡬ문을 μ΄μš©ν•œ νƒ€μž…λͺ… μƒλž΅
11.4 null 쑰건 μ—°μ‚°μž
11.5 λ¬Έμžμ—΄ 내에 식(expression)을 포함
11.6 nameof μ—°μ‚°μž
11.7 Dictionary νƒ€μž…μ˜ 인덱슀 μ΄ˆκΈ°ν™”
11.8 μ˜ˆμ™Έ ν•„ν„°
11.9 catch/finally 블둝 λ‚΄μ—μ„œ await μ‚¬μš© κ°€λŠ₯
11.10 μ»¬λ ‰μ…˜ μ΄ˆκΈ°ν™” ꡬ문에 ν™•μž₯ λ©”μ„œλ“œλ‘œ μ •μ˜ν•œ Add 지원
11.11 #pragma의 “CS” 접두사 지원
11.12 μž¬μ •μ˜λœ λ©”μ„œλ“œμ˜ 선택 정확도λ₯Ό ν–₯상

β–£ 12μž₯: C# 7.0
12.1 λ”μš± νŽΈλ¦¬ν•΄μ§„ out λ§€κ°œλ³€μˆ˜ μ‚¬μš©
12.2 λ°˜ν™˜κ°’ 및 둜컬 λ³€μˆ˜μ— ref κΈ°λŠ₯ μΆ”κ°€(ref returns and locals)
12.3 νŠœν”Œ
12.4 Deconstruct λ©”μ„œλ“œ
12.5 λžŒλ‹€ 식을 μ΄μš©ν•œ λ©”μ„œλ“œ μ •μ˜ ν™•λŒ€(Expression-bodied members)
12.6 지역 ν•¨μˆ˜(Local functions)
12.7 μ‚¬μš©μž μ •μ˜ Task νƒ€μž…μ„ async λ©”μ„œλ“œμ˜ λ°˜ν™˜ νƒ€μž…μœΌλ‘œ μ‚¬μš© κ°€λŠ₯
12.8 μžμœ λ‘œμ›Œμ§„ throw μ‚¬μš©
12.9 λ¦¬ν„°λŸ΄μ— λŒ€ν•œ ν‘œν˜„ 방법 κ°œμ„ (Literal improvements)
12.10 νŒ¨ν„΄ 맀칭
__12.10.1 is μ—°μ‚°μžμ˜ νŒ¨ν„΄ 맀칭
__12.10.2 switch/case 문의 νŒ¨ν„΄ 맀칭

β–£ 13μž₯: C# 7.1
13.1 Main λ©”μ„œλ“œμ— async μ˜ˆμ•½μ–΄ ν—ˆμš©
13.2 default λ¦¬ν„°λŸ΄ μΆ”κ°€
13.3 νƒ€μž… 좔둠을 ν†΅ν•œ νŠœν”Œμ˜ λ³€μˆ˜λͺ… μžλ™ 지정
13.4 νŒ¨ν„΄ 맀칭 - μ œλ„€λ¦­ μΆ”κ°€
13.5 μ°Έμ‘° μ „μš© μ–΄μ…ˆλΈ”λ¦¬(Ref Assemblies)

β–£ 14μž₯: C# 7.2
14.1 λ©”μ„œλ“œμ˜ λ§€κ°œλ³€μˆ˜μ— in λ³€κ²½μž μΆ”κ°€
14.2 읽기 μ „μš©(readonly) ꡬ쑰체
14.3 λ©”μ„œλ“œμ˜ λ°˜ν™˜ κ°’ 및 둜컬 λ³€μˆ˜μ— ref readonly μΆ”κ°€
14.4 μŠ€νƒμ—λ§Œ 생성할 수 μžˆλŠ” κ°’ νƒ€μž… 지원 - ref struct
14.5 μ‹ κ·œ μΆ”κ°€ νƒ€μž…: Spanγ€ˆT〉
14.6 3ν•­ μ—°μ‚°μžμ— ref 지원
14.7 private protected μ ‘κ·Όμž μΆ”κ°€
14.8 숫자 λ¦¬ν„°λŸ΄μ˜ μ„ ν–‰ 밑쀄
14.9 뒀에 μ˜€μ§€ μ•ŠλŠ” λͺ…λͺ…λœ 인수

β–£ 15μž₯: C# 7.3
15.1 μ‹ κ·œ μ œλ„€λ¦­ μ œμ•½ 쑰건 - Delegate, Enum, unmanaged
15.2 μ‚¬μš©μž μ •μ˜ νƒ€μž…μ— fixed 적용 κ°€λŠ₯
15.3 νž™μ— ν• λ‹Ήλœ κ³ μ • 크기 λ°°μ—΄μ˜ 인덱싱 κ°œμ„ 
15.4 μ΄ˆκΈ°ν™” μ‹μ—μ„œ λ³€μˆ˜ μ‚¬μš© κ°€λŠ₯
15.5 μžλ™ κ΅¬ν˜„ μ†μ„±μ˜ νŠΉμ„± 지원
15.6 νŠœν”Œμ˜ ==, != μ—°μ‚°μž 지원
15.7 ref 지역 λ³€μˆ˜μ˜ μž¬ν• λ‹Ή κ°€λŠ₯
15.8 stackalloc λ°°μ—΄μ˜ μ΄ˆκΈ°ν™” ꡬ문 지원
15.9 κ°œμ„ λœ λ©”μ„œλ“œ 선택 κ·œμΉ™ 3가지
__15.9.1 정적/μΈμŠ€ν„΄μŠ€ λ©€λ²„μ˜ 호좜 λ¬Έλ§₯ ꡬ뢄
__15.9.2 μ œλ„€λ¦­μ˜ ν˜•μ‹ λ§€κ°œλ³€μˆ˜ νƒ€μž… ꡬ뢄
__15.9.3 delegate λ°˜ν™˜ νƒ€μž… ꡬ뢄

β–£ 16μž₯: C# 8.0
16.1 #nullable μ§€μ‹œμžμ™€ nullable μ°Έμ‘° ν˜•μ‹
__16.1.1 null일 수 μ—†μŒμ„ 보μž₯
__16.1.2 null일 수 μžˆλ‹€λ©΄ ν•΄λ‹Ή μΈμŠ€ν„΄μŠ€λ₯Ό null κ°€λŠ₯ν•œ νƒ€μž…μ΄λΌκ³  λͺ…μ‹œ
__16.1.3 널 κ°€λŠ₯(Nullable) λ¬Έλ§₯ μ œμ–΄
16.2 비동기 슀트림
16.3 μƒˆλ‘œμš΄ μ—°μ‚°μž - 인덱슀, λ²”μœ„
16.4 간결해진 using μ„ μ–Έ
16.5 Dispose 호좜이 κ°€λŠ₯ν•œ ref struct
16.6 정적 지역 ν•¨μˆ˜
16.7 νŒ¨ν„΄ 맀칭 κ°œμ„ 
__16.7.1 switch 식
__16.7.2 속성 νŒ¨ν„΄
__16.7.3 νŠœν”Œ νŒ¨ν„΄
__16.7.4 μœ„μΉ˜ νŒ¨ν„΄
__16.7.5 μž¬κ·€ νŒ¨ν„΄
16.8 κΈ°λ³Έ μΈν„°νŽ˜μ΄μŠ€ λ©”μ„œλ“œ
16.9 ??= (널 병합 ν• λ‹Ή μ—°μ‚°μž)
16.10 λ¬Έμžμ—΄ @, $ 접두사 ν˜Όν•© 지원
16.11 κΈ°λ³Έ 식(primary expression)으둜 바뀐 stackalloc
16.12 μ œλ„€λ¦­ ꡬ쑰체의 unmanaged 지원
16.13 ꡬ쑰체의 읽기 μ „μš© λ©”μ„œλ“œ

β–£ 17μž₯: C# 9.0
17.1 λ ˆμ½”λ“œ(Records)
__17.1.1 init μ„€μ •μž μΆ”κ°€
__17.1.2 with μ΄ˆκΈ°ν™” ꡬ문 μΆ”κ°€
17.2 λŒ€μƒμœΌλ‘œ ν˜•μ‹ν™”λœ new 식(Target-typed new expressions)
17.3 달라진 쑰건식 평가
__17.3.1 λŒ€μƒμœΌλ‘œ ν˜•μ‹ν™”λœ 쑰건식(Target-typed conditional expressions)
__17.3.2 λ©”μ„œλ“œ 인자둜 전달 μ‹œ 엄격해진 쑰건식 평가
17.4 둜컬 ν•¨μˆ˜μ— νŠΉμ„± 지정 κ°€λŠ₯(Attributes on local functions)
17.5 읡λͺ… ν•¨μˆ˜ κ°œμ„ 
__17.5.1 정적 읡λͺ… ν•¨μˆ˜(static anonymous functions)
__17.5.2 읡λͺ… ν•¨μˆ˜μ˜ λ§€κ°œλ³€μˆ˜ λ¬΄μ‹œ
17.6 μ΅œμƒμœ„ λ¬Έ(Top-level statements)
17.7 νŒ¨ν„΄ 일치 κ°œμ„  사항(Pattern matching enhancements)
17.8 λͺ¨λ“ˆ μ΄λ‹ˆμ…œλΌμ΄μ €(Module initializers)
17.9 곡변 λ°˜ν™˜ ν˜•μ‹(Covariant return types)
17.10 foreach 루프에 λŒ€ν•œ GetEnumerator ν™•μž₯ λ©”μ„œλ“œ 지원(Extension GetEnumerator)
17.11 λΆ€λΆ„ λ©”μ„œλ“œμ— λŒ€ν•œ μƒˆλ‘œμš΄ κΈ°λŠ₯(New features for partial methods)
17.12 localsinit ν”Œλž˜κ·Έ 내보내기 λ¬΄μ‹œ(Suppress emitting localsinit flag)
17.13 μ›μ‹œ 크기 μ •μˆ˜(Native ints)
17.14 ν•¨μˆ˜ 포인터(Function pointers)
__17.14.1 비관리 ν•¨μˆ˜ 포인터 지원
__17.14.2 비관리 ν•¨μˆ˜λ₯Ό ν†΅ν•œ 콜백 지원
17.15 μ œμ•½ 쑰건이 μ—†λŠ” ν˜•μ‹ λ§€κ°œλ³€μˆ˜ 주석(Unconstrained type parameter annotations)

[3λΆ€] λ‹·λ„· μ‘μš© ν”„λ‘œκ·Έλž¨
http://www.sysnet.pe.kr/2/0/12021 및 μΆœνŒμ‚¬μ˜ 곡식 ν™ˆνŽ˜μ΄μ§€λ₯Ό 톡해 λ‚΄μš©μ΄ λͺ¨λ‘ 곡개돼 μžˆμœΌλ‹ˆ μ°Έκ³ ν•˜μž.

β–£ 뢀둝
A _ C# 8.0 μ–Έμ–΄ λͺ…μ„Έ
B _ C# 8.0 μ—°μ‚°μžμ™€ λ¬Έμž₯ λΆ€ν˜Έ
C _ C# 8.0 μ˜ˆμ•½μ–΄
D _ ASCII μ½”λ“œ
E _ ν”„λ‘œκ·Έλž˜λ° κΈ°λ³Έ 지식
__E.1 ν•˜λ“œμ›¨μ–΄ κ΄€λ ¨ μš©μ–΄
____E.1.1 쀑앙 처리 μž₯치(CPU)
____E.1.2 λ ˆμ§€μŠ€ν„°(Register)
____E.1.3 x86, x64
____E.1.4 λ©€ν‹° CPU와 λ©€ν‹° μ½”μ–΄
__E.2 운영체제 κ΄€λ ¨ μš©μ–΄
____E.2.1 λ„μŠ€(DOS)
____E.2.2 μœˆλ„μš° 운영체제
____E.2.3 λ©€ν‹° νƒœμŠ€ν‚Ή/닀쀑 ν”„λ‘œμ„ΈμŠ€
____E.2.4 Win32 μ‘μš© ν”„λ‘œκ·Έλž¨ μΈν„°νŽ˜μ΄μŠ€(API)
____E.2.5 μœˆλ„μš° μ‘μš© ν”„λ‘œκ·Έλž¨
____E.2.6 32λΉ„νŠΈ μ‘μš© ν”„λ‘œκ·Έλž¨
____E.2.7 64λΉ„νŠΈ μ‘μš© ν”„λ‘œκ·Έλž¨
____E.2.8 μœˆλ„μš° μ΄μ™Έμ˜ 운영체제
__E.3 ν”„λ‘œκ·Έλž˜λ° μš©μ–΄
____E.3.1 기계어
____E.3.2 μ–΄μ…ˆλΈ”λ¦¬μ–΄, μ†ŒμŠ€μ½”λ“œ, 컴파일
____E.3.3 컴파일러, 링컀, λΉŒλ“œ
____E.3.4 인터프리터 μ–Έμ–΄
____E.3.5 μ €κΈ‰/κ³ κΈ‰ ν”„λ‘œκ·Έλž˜λ° μ–Έμ–΄
____E.3.6 λ„€μ΄ν‹°λΈŒ μ–Έμ–΄
____E.3.7 ν”„λ‘œμ„ΈμŠ€ 가상 λ¨Έμ‹ (VM)
____E.3.8 가상 λ¨Έμ‹  지원 μ–Έμ–΄
F _ 참고 자료

 

 

 

# λ„μ„œ νŠΉμ§•

 μœ„ λͺ©μ°¨μ—μ„œλ„ λ‚˜νƒ€λ‚˜λ“― C# μž…λ¬Έμ„œλ‹΅κ²Œ ꡉμž₯히 μ„€λͺ…νžˆ μžμ„Ένžˆ λ‚˜μ™€μžˆμŠ΅λ‹ˆλ‹€. 특히 C# κ΄€λ ¨ ν”„λ ˆμž„μ›Œν¬μ— λŒ€ν•œ μ„€λͺ…μ΄λ‚˜ 개발 ν™˜κ²½ 쑰성에 λŒ€ν•œ μ„€λͺ…이 ꡉμž₯히 μΉœμ ˆν•˜κ³  μžμ„Έν•΄μ„œ, μœ„ λ„μ„œμ— λ‚˜μ˜¨ κ°œλ°œν™˜κ²½μ„ 처음 μ ‘ν•˜μ‹œλŠ” 뢄듀도 μ‰½κ²Œ λ„μ„œμ˜ λ‚΄μš©μ„ 이해할 수 μžˆμ„ 것 κ°™λ‹€λŠ” 생각이 λ“€μ—ˆμŠ΅λ‹ˆλ‹€.

 

 λ˜ 2λΆ€μ˜ λ‚΄μš©μ„ 보면 C#의 버전에 따라 μΆ”κ°€λœ 문법듀을 μ‹œκ°„μˆœμœΌλ‘œ μ •λ¦¬ν•΄μ„œ 닀루고 μžˆλŠ”λ°, μ΄λ ‡κ²Œ C#이 λ°œμ „ν•΄μ˜¨ μˆœμ„œλŒ€λ‘œ 곡뢀λ₯Ό ν•˜λ‹€ λ³΄λ‹ˆ λ‚΄μš©μ΄ 더 잘 μ΄ν•΄λ˜λŠ” 것 κ°™μ•˜μŠ΅λ‹ˆλ‹€.

 

 λ§ˆμ§€λ§‰μœΌλ‘œ < μ‹œμž‘ν•˜μ„Έμš”! C# ν”„λ‘œκ·Έλž˜λ° >의 μ €μžμ΄μ‹  μ •μ„±νƒœ κ°œλ°œμžλ‹˜μ˜ κ°•μ˜ μ˜μƒμ˜ 도움도 많이 λ°›μ•˜μ—ˆλŠ”λ°, λ…μžλΆ„λ“€κ»˜μ„œ 혼자 κ³΅λΆ€ν•˜λ‹€κ°€ λ§‰νžˆλŠ” 뢀뢄이 μžˆμœΌμ‹€ 경우 μ•„λž˜ μ˜μƒλ“€μ„ μ°Έκ³ ν•˜μ‹œλ©΄ λ„μ„œμ˜ λ‚΄μš©μ„ ν•™μŠ΅ν•˜λŠ”λ° 큰 도움이 될 것이라고 μƒκ°ν•©λ‹ˆλ‹€.

https://www.youtube.com/@techsharer

 

μ„±νƒœμ˜ ν”„λ‘œκ·Έλž˜λ° 이야기

μœ„ν‚€λΆμŠ€ "μ‹œμž‘ν•˜μ„Έμš” C#" μ±…μ˜ μ €μžμž…λ‹ˆλ‹€. ν˜„μž¬ "μ œλ‹ˆνΌμ†Œν”„νŠΈ(https://www.jennifersoft.com)"μ—μ„œ 닷넷을 λŒ€μƒμœΌλ‘œ ν•œ μ„±λŠ₯ 관리 도ꡬλ₯Ό κ°œλ°œν•˜κ³  있으며, 개인 λΈ”λ‘œκ·Έ(https://www.sysnet.pe.kr)λ₯Ό 톡해 ν”„λ‘œ

www.youtube.com

 

 

 

# λ„μ„œ 링크

https://search.shopping.naver.com/book/catalog/35276599621

 

μ‹œμž‘ν•˜μ„Έμš”! C# 10 ν”„λ‘œκ·Έλž˜λ° : 넀이버 λ„μ„œ

넀이버 λ„μ„œ 상세정보λ₯Ό μ œκ³΅ν•©λ‹ˆλ‹€.

search.shopping.naver.com

 

 

 

+ 지원 및 후원

"<μ‹œμž‘ν•˜μ„Έμš”! C# ν”„λ‘œκ·Έλž˜λ°> μ„œν¬ν„°μ¦ˆ ν™œλ™μ€ μ œλ‹ˆνΌμ†Œν”„νŠΈ(https://jennifersoft.com/)의 μ§€μ›μœΌλ‘œ μ§„ν–‰λ©λ‹ˆλ‹€"