Skip to product information
This is C
€45,00
This is C#
Description
Book Introduction
Level up to be an expert!
Complete mastery of C# programming


This book covers the basic and advanced grammar of C#, as well as the basic class library.
It consists of 22 chapters in total, and is structured so that you can learn step by step while utilizing what you have learned previously.
You can learn core grammar explained in a friendly manner at a beginner's level, understand the principles of programming operation, and improve your skills by practicing with example code.
Additionally, you can check what you have learned and supplement any areas where you are lacking through [Vitamin Quiz] and [Practice Problems].
Build a solid foundation in C# programming with "This is C# (3rd Edition)" and grow into an expert!
  • You can preview some of the book's contents.
    Preview

index
Chapter 01 | Let's Start Programming

1.1 History of Programming Languages
__The beginning of computers, the beginning of programming
__The Birth of Fortran
__Basic that even elementary school students can program
C for, by, and of Unix
__C+1 == C++
__C# for a better world
1.2 Basic C# files and environment settings
__Source files and projects that make up the program
__Visual Studio Preferences

Chapter 02 | Creating Your First C# Program

2.1 Hello, World!
2.2 Examining the First Program
__using System
__using static System.Console;
__namespace Hello { }
__class MainApp { }
__// Where program execution begins
__static void Main(string[ ] args) { }
__if(args.Length == 0) { }
2.3 About CLR
[Practice Problems]

Chapter 03 | Archiving Data

3.1 Different types of data
3.2 Variables
3.3 Value types and reference types
__Stack and value types
__Heap and reference types
3.4 Basic Data Formats
__Numeric data type
[Vitamin Quiz 3-1]
[Vitamin Quiz 3-2]
__Floating point format
__character format and string format
[Vitamin Quiz 3-3]
__logical format
__object format
__Boxing and Unboxing
__Change data format
3.5 Constants and Enumeration Types
__Constant: I will never change
__Enumeration format: Organize multiple constants
3.6 Nullable types
3.7 var: A Smart C# Compiler That Figures Out Data Types
3.8 Common Format System
3.9 Handling Strings
Find within string
__Transform string
__Split a string
__String formatting
[Practice Problems]

Chapter 04 | Operators for Processing Data

4.1 Overview of operators provided by C#
4.2 Arithmetic Operators
4.3 Increment and decrement operators
4.4 String concatenation operators
4.5 Relational Operators
4.6 Logical Operators
4.7 Conditional Operators
4.8 Null Conditional Operator
4.9 Bitwise Operators
__shift operator
__bitwise logical operator
4.10 Assignment Operators
4.11 Null coalescing operator
4.12 Operator Precedence
[Practice Problems]

Chapter 05 | Controlling Code Flow

5.1 Branch statement
__if, else, else if
Using nested __if statements
__switch statement
__switch expression
5.2 Loops
__while
__do while
__for
__Nested for
__foreach
Infinite loop code using __for or while
5.3 Jump door
__break
__continue
__goto
5.4 Pattern Matching
__Declaration Pattern
__format pattern
__Constant pattern
__Property Pattern
[Vitamin Quiz 5-1]
__relationship pattern
__Logic Pattern
__Parenthetic pattern
__location pattern
__var pattern
__Ignore pattern
__list pattern
[Practice Problems]

Chapter 06 | Simplifying Code with Methods

6.1 What is a method?
6.2 About returns
6.3 About parameters
6.4 Passing parameters by reference
6.5 Returning the result of a method by reference
6.6 Output-only parameters
6.7 Method Overloading
6.8 Variable number of arguments
6.9 Named arguments
6.10 Optional Arguments
6.11 Local functions
[Practice Problems]

Chapter 07 | Class

7.1 Object-Oriented Programming and Classes
[Vitamin Quiz 7-1]
7.2 Class declaration and object creation
7.3 About the life and death of objects: constructors and finalizers
__constructor
__Terminator
7.4 Static fields and methods
7.5 Copying Objects: Shallow and Deep Copying
7.6 this keyword
__me
__this( ) constructor
7.7 Determining the Public Level with Access Modifiers
7.8 Reusing Code with Inheritance
7.9 Type conversion between base and derived classes
7.10 Overriding and Polymorphism
7.11 Hiding Methods
7.12 Sealing Overriding
7.13 Read-only fields
7.14 Nested Classes
7.15 Split Class
7.16 Extension Methods
[Vitamin Quiz 7-2]
7.17 Structure
7.18 Tuples
[Practice Problems]

Chapter 08 | Interfaces and Abstract Classes

8.1 Declaring an Interface
8.2 The interface is a promise
[Vitamin Quiz 8-1]
8.3 Interfaces that inherit interfaces
8.4 Inheriting Multiple Interfaces at Once
[Vitamin Quiz 8-2]
8.5 Default implementation methods of interfaces
8.6 Abstract Classes: Between Interfaces and Classes
[Practice Problems]

Chapter 09 | Properties

9.1 The Temptation of the Public Field
9.2 Properties over Methods
9.3 Automatically Implemented Properties
__What happens behind the scenes with auto-implemented properties
9.4 Properties and Constructors
9.5 Initialization-Only Auto-Implemented Properties
9.6 The required keyword forcing property initialization
9.7 Creating Immutable Objects in Record Format
__Declaring a record
Copying records using __with
__Comparing record objects
9.8 Anonymous format
9.9 Properties of Interfaces
9.10 Properties of Abstract Classes
[Practice Problems]

Chapter 10 | Arrays, Collections, and Indexers

10.1 All for one, one for all
10.2 Three ways to initialize an array
10.3 System.Array: Knowing It Will Make Your Life More Enriching
10.4 Splitting an Array
10.5 Two-dimensional arrays
[Vitamin Quiz 10-1]
[Vitamin Quiz 10-2]
10.6 Multidimensional Arrays
10.7 Variable Arrays
Preview the 10.8 Collection
__ArrayList
__Queue
__Stack
__Hashtable
10.9 How to initialize a collection
10.10 Indexer
10.11 Creating an object that supports foreach
[Practice Problems]

Chapter 11 | Generalized Programming

11.1 What is general programming?
11.2 Generalization Methods
11.3 Generalized Classes
11.4 Constraining formal parameters
[Vitamin Quiz 11-1]
11.5 Generalized Collections
__List〈T〉
__Queue〈T〉
__Stack〈T〉
__Dictionary〈TKey, TValue〉
11.6 Generic classes that can use foreach
[Practice Problems]

Chapter 12 | Handling Exceptions

12.1 About Exceptions
12.2 Catching exceptions with try~catch
12.3 System.Exception Class
12.4 Throwing Exceptions
12.5 try~catch and finally
12.6 Creating a Custom Exception Class
12.7 Filtering Exceptions
12.8 Rethinking Exception Handling
[Practice Problems]

Chapter 13 | Agents and Events

13.1 What is a proxy?
13.2 Why and when do I use a proxy?
13.3 Generalized Agents
13.4 Delegate Chain
13.5 Anonymous Methods
13.6 Events: Notifying Objects of Events
13.7 Agents and Events
[Practice Problems]

Chapter 14 | Lambda Expressions

14.1 Lambda Expression, Where Did You Come From?
14.2 First Encounter with Lambda Expressions
14.3 Lambda expressions in statement form
14.4 Creating anonymous functions more easily with Func and Action
__Func delegate
__Action delegate
14.5 Food Tree
Members made up of 14.6
[Practice Problems]

Chapter 15 | LINQ

15.1 Data! Data! Data!
15.2 LINQ Basics
__from
__where
__orderby
__select
15.3 Querying Multiple Data Sources
15.4 Sorting data with group by
15.5 Joining Two Data Sources
__inner join
__Outer Join
15.6 LINQ Secrets and LINQ Standard Operators
[Practice Problems]

Chapter 16 | Reflection and Attributes

16.1 Reflection
__Object.GetType( ) method and Type class
[Vitamin Quiz 16-1]
__Creating objects using reflection
Export __ format
16.2 Attributes
Using the __ attribute
__Caller Information Attribute
__Attributes I create
[Practice Problems]

Chapter 17 | Dynamic Format

17.1 Introducing the dynamic format
__Duck Typing
17.2 Dynamic Types for Interoperability Between COM and .NET
17.3 Dynamic Format for Interoperability with Dynamic Languages

Chapter 18 | Handling Files

18.1 Handling file and directory information
__Example Program: Retrieving Directory/File Information
__Example Program: Creating a Directory/File
18.2 What you need to know to read and write files
__System.IO.Stream class
[Vitamin Quiz 18-1]
18.3 Using Declarations to Reduce Mistakes
18.4 BinaryWriter/BinaryReader for Binary Data Processing
[Vitamin Quiz 18-2]
18.5 StreamWriter/StreamReader for Text File Processing
18.6 Serializing Objects
[Vitamin Quiz 18-3]

Chapter 19 | Threads and Tasks

19.1 Processes and Threads
__Start a thread
__Terminate threads arbitrarily
__Thread's Life and State Changes
__Interrupt: Another way to terminate a thread arbitrarily
__Synchronization between threads
[Vitamin Quiz 19-1]
[Vitamin Quiz 19-2]
19.2 Task, Task〈TResult〉, and Parallel
__System.Threading.Tasks.Task Class
__Task〈TResult〉 class that provides the result of asynchronous execution of code
__Parallel class that enables easy parallel processing
19.3 Asynchronous code created with the async modifier and await operator
A taste of the asynchronous APIs provided by __.NET

Chapter 20 | Creating a User Interface with WinForms

20.1 What on earth is going on?
20.2 Creating a WinForm Window with C# Code
20.3 Application Class
__Message Filtering
20.4 Form class representing a window
Connecting events and event handlers defined in __Form
Change the appearance of a window by adjusting the properties of __Form
__Place a control on top of the form
20.5 Building a WinForm UI Using the Form Designer
__Create a new project
__Form
__GroupBox, Label, ComboBox, CheckBox, TextBox
__TrackBar, ProgressBar
__Button, Form, Dialog
__TreeView, ListView
20.6 User Interface and Asynchronous Tasks
__Create a new project
Implementing the __CopySync( )/CopyAsync( ) methods
__Configuring the UI

Chapter 21 | Network Programming

21.1 Basics to Know Before Network Programming
__The origin of the Internet
__TCP/IP stack
__TCP/IP address system: IP address
__port
__TCP/IP operation process
21.2 TcpListener and TcpClient
21.3 Flowing Packets
21.4 Protocol Design and Network Application Programming Examples
__File Upload Protocol
__Implementing a file upload server and client
__Creating a class library for use by both server and client
__Implementing a file upload server
__Implementing the client
__Test file upload

Chapter 22 | Garbage Collection

22.1 Do you know about garbage collectors?
22.2 Allocate like a dog and collect like a prime minister.
22.3 Generational Garbage Collection
22.4 Understanding Garbage Collection
What should we do?
Don't allocate too many __objects
__Avoid allocating objects that are too large
__Don't create overly complex reference relationships
__Don't create too many routes
__A small hole breaks the dam

[Search]

Publisher's Review
Let's dive into the world of programming with "This is C# (3rd Edition)"!

C# has steadily added new syntax while maintaining its focus on improving engineers' productivity and expressiveness.
As the language has evolved, the .NET ecosystem has also expanded positively.
It has been used in various industries, from machine control to the web, cloud, gaming, and AI, and it has been possible to develop and deploy on not only Windows but also macOS and Linux for quite some time.
The number of developers around the world using C# also continues to grow.
Let's dive into the wonderful world of C# through "This is C# (3rd Edition)".


Chapters 1 through 10 cover basic grammar, making them easy to digest.
Chapters 11 through 17 cover advanced grammar that can be learned by leveraging the knowledge accumulated previously, and Chapters 18 through 22 cover utilizing the .NET class library.
I hope this book will be a helpful guide for you.

Readers who need this book

ㆍI want to learn C# step by step, starting from the basic grammar.
ㆍI need to study C# for a new project.
ㆍI want to learn C# because I want to make games.

What this book covers

ㆍBasic grammar for C# programming
Introduction to Object-Oriented Programming
Advanced grammar that will increase programmer productivity
ㆍHow to use the .NET framework and how to manage memory
GOODS SPECIFICS
- Date of issue: May 4, 2023
- Page count, weight, size: 792 pages | 183*235*40mm
- ISBN13: 9791169210928
- ISBN10: 1169210929

You may also like

카테고리