C# C# 교과서

C# 교과서

기초에서 활용까지! 기본기를 탄탄하게 다지는 C# 입문서
C#의 쓰임새와 기초 문법부터 컬렉션, 제네릭, LINQ, 개체 지향, 동적 형식, 비동기 프로그래밍과 같은 활용과 확장 기능까지 입문자에게 필요한 모든 것을 설명합니다.

C# 교과서 - 정오표

오탈자가 발생하면 이곳에 지속적으로 업데이트 하도록 하겠습니다. 참고로, 이 페이지의 정오표는 제 사이트를 통해서 접수된 자료만 기록이 됩니다. 추가적인 정보는 출판사 도서 소개 사이트를 참고하세요.
3.2 C#의 기본 코드 구조 끝부분 C#은 대/소문자 구분: C#은 대·소문자 구분: CaseSensitive.cs
종이책 55 페이지: (이 내용은 전자책에만 오탈자가 있습니다.)
Main을 Main으로 바꾸고 writeline을 Writeline으로 바꾸어서 컴파일합니다.
-에서-
main을 Main으로 바꾸고 writeline을 Writeline으로 바꾸어서 컴파일합니다.
-으로-
5.6 상수 사용하기 바로 앞
종이책 78페이지: Note 표기법
파스칼 표기법: 접두사와 단어를 언더스코어(_)로 구분합니다.
int my_num = 0;
-에서-
파스칼 표기법: 단어를 대문자로 구분합니다.
int MyNum = 0;
-으로-

이 부분은 사실, 표기법이 문법이 아닌 스타일이라서, 큰 차이는 없지만, 아직 소문자로 시작하는 변수만을 표기하기 위해서 nynum을 구분짓기 위해서 언더스코어를 사용했지만, 좀 더 명확한 내용은 MyNum 형태로 문자와 문자를 대문자로 구분짓는게 더 좋은 표현이라고 생각하여 변경하도록 하겠습니다.
7.4 변하지 않는 값: 상수
종이책 99 페이지: (주석 부분 설명)
// 상수: j는 20으로 고정
-에서-
// 상수: age는 20으로 고정
-으로-
8.2장 - 여러 가지 형식으로 변환하기: ReadLineInteger.cs
종이책 111페이지: 상단 설명
Convert 클래스의 Int32() 메서드로 묶어 줍니다.
-에서-
Convert 클래스의 ToInt32() 메서드로 묶어 줍니다.
-으로-
8.2 형식 변환-(끝 부분)-실수를 문자열로 입력받아 실수로 변환: ReadLineRealNumber.cs
종이책 111페이지: (주석 부분 설명)
//정수로 변환
-에서-
//실수로 변환
-으로-
8.4장 - 키보드의 키 값 입력받기: KeyboardInput.cs
종이책 117페이지: 하단 설명
ConsoleKeyInfo 열거형을 사용했는데요. 열거형에 대한 내용은 뒤에서 자세히 다루겠지만,
-에서-
ConsoleKeyInfo 구조체와 ConsoleKey 열거형을 사용했는데요. 구조체와 열거형에 대한 내용은 뒤에서 자세히 다루겠지만,
-으로-
비트, 시프트 연산자와 할당 연산자 함께 사용
종이책 148페이지

주석문에 &, |, ^로 변경했습니다.
조건문: if 문과 가지치기
종이책 156페이지

조건문
-에서-
조건식
-으로-
13.6 Note
종이책 176페이지

기본 데이터 형식이 저장됩니다.
-에서-
데이터 형식의 기본값이 저장됩니다.
-으로-
15.1 ForSumEven.cs 주석 부분 설명 변경
종이책 185페이지
18.5 ArrahThree.cs 실행 결과 - 전자책에만 해당
종이책 238 페이지

전자책에는 실행 결과가 띄어쓰기가 잘못되어 출판되었습니다.
18.6 - 전자책에만 해당
종이책 240 페이지

전자책에는 예 문자가 깨져서 보입니다.
19.9 - 전자책에만 해당
종이책 255 페이지

전자책에는 Sum이 sum으로 소문자로 잘못 표기되었습니다.
19.16
종이책 270 페이지

제 원고에는 "또만나요"로 되어 있는데, 편집 과정에서 띄어쓰기가 적용되었습니다.
21.3
종이책 281 페이지

제곱근
-에서-
거듭제곱
-으로-
21.3
종이책 282 페이지
2의 10승
-에서-
2의 10제곱
-으로-
22.2
종이책 285 페이지 - 원고에서 편집 과정에서 변경됨

데이터형식변수1
-에서-
데이터형식 변수1
-으로-
22.6
종이책 295 페이지

xmax
-에서-
xmas
-으로-
24.9 RandomDemo.cs
종이책 319 페이지

1 ~ 10
-에서-
1 ~ 9
-으로-
24.9 RegexReplace.cs - 전자책에만 해당
종이책 324 페이지

실행 결과의 공백이 전자책에서는 제대로 표현되지 않았습니다.
25.3 전자책에만 해당
종이책 346 페이지

전자책에는 \r 만 표시되었습니다.
29.2 전자책에만 해당
종이책 384 페이지

전자책에는 화살표 부분에 불필요한 공백이 추가되었습니다.
30.5
종이책 408 페이지

내림차순
-에서-
오름차순
-으로-
32.6 전자책에만 해당
종이책 447 페이지

전자책에는 ClassOne과 ClassTwo가 classOne과 classsTwo로 소문자로 잘못 표기되었습니다.
38.3
종이책 507 페이지

Name 속성
-에서-
Color 속성
-으로-
39.4
종이책 540 페이지

, num 제거해도 됩니다.
40.3
종이책 552 페이지

원고와 GitHub 소스에는 "Class와 같은 레벨로" 되어 있습니다.
40.7 전자책에만 해당
종이책 562 페이지

전자책에는 StringLength 메서드 전달 부분이 stringLength 소문자로 표현되었습니다.
42.4 PointFunctional.cs 코드 주석 부분
종이책 571 페이지

생성자의
-에서-
메서드의
-으로-
43.7 ConstructorInheritance.cs 코드 주석 부분
종이책 583 페이지

World
-에서-
Word
-으로-
43.8 설명 부분
종이책 584 페이지

sealed 클래스가
-에서-
sealed 키워드가
-으로-
44.6 소스 마지막 주석에 대한 보충 설명
종이책 599 페이지 상단 소스
다음 링크에 소스에 대한 추가 설명을 담았습니다.
virtual override 관계 보충 설명
47장 맨 마지막
종이책 640페이지: (제일 마지막 문구)
개발 패턴들을 정리해 나갔습니다.
-에서-
개발 패턴들을 정리해 나가겠습니다.
-으로-
종이책 646 페이지 중간 소스 - 한 줄 누락
종이책 657 페이지 형식 매개변수에 대한 제약조건
1번 순서 앞에 다음 그림의 0번 순서(다음 4줄)를 먼저 실행해야 합니다.
> public interface IKs { }
> public class GoodCar { }
> public class BadCar { public BadCar(string message) { } }
> public class OfficeCamper : GoodCar, IKs { }

53.2 맨 마지막
종이책 699페이지: (제일 마지막 문장)
특별한 목적의 Assert 클래스를 만들어 보았습니다.
-에서-
특별한 목적의 Assert 클래스를 사용해 보았습니다.
-으로-
손님 사용자 Anonymous (손님)
로그인 Home