Skip to product information
Seeing a hundred times is not as good as doing it once C Introduction
Seeing is believing, but doing it once is better than seeing a hundred times. Introduction to C#
Description
Book Introduction
This book is an introductory book for programmers who want to get started with programming or learn the C# language.
It is designed to focus on concepts, examples, and practice problems.
If you repeatedly study the 100 main text examples and solve the practice problems provided in each chapter on your own, you will be able to lay the foundation for sufficient growth as a C# developer.

index
Author's Note
A note from an editor and beta tester
Note

Chapter 1: First Encounter, Talking Programming

1.1 What is programming?
1.2 What are the programming languages?
1.3 The birth and development potential of C#, this language is attractive!
1.4 Let's install Visual Studio
1.5 My first program
1.6 Distributing the Program
1.7 The original teacher of C# developers, MSDN
1.8 Code Structure of This Book
Let's summarize
[Let's do it together] My first code (Program.cs)

Chapter 2: Using Variables, Labeling Baskets

2.1 Variables: A basket containing data
2.2 Variable types that hold numbers
2.3 Variable types that contain characters
2.4 Variable types that hold true/false.
And an operator that determines true/false
2.5 Variable types useful for containing unpredictable data
2.6 Variable 'Type Conversion' that Changes the Usability of the Basket
2.7 Local variables, global variables, and constants
2.8 Variable types provided by the .NET Framework
Let's summarize
Let's measure my understanding
[Let's do it together] Saying hello (Hello.cs)
[Let's do it together] Calling the greeting file (Program.cs)
[Let's do it together] A basket that holds numbers (Ex001.cs)
[Let's do it together] A basket that holds text (Ex002.cs)
[Let's do it together] A basket containing true/false (Ex003.cs)
[Let's do it together] A versatile basket that can hold anything (Ex004.cs)
[Let's do it together] The difference between object, var, and dynamic (Ex005.cs)
[Let's do it together] Review of variable usage (Ex006.cs)
[Let's do it together] A program that calculates a student's total score and average score (Ex007.cs)
[Let's do it together] Extending the program to calculate students' total and average scores (Ex008.cs)
[Let's try it together] Implicit and explicit type conversion (Ex009.cs)
[Let's do it together] How to convert a number composed of characters (Ex010.cs)
[Let's do it together] Local and global variables (Ex011.cs)
[Let's do it together] Constant (Ex012.cs)

Chapter 3 Conditional Statements: Program Variation Depending on the Situation

3.1 if statement: “If ~, then ~”
3.2 Ternary Operator: A Shorthand for If-Else Statements
3.3 A switch statement with clearly defined conditions, like looking at the answer sheet on a test paper.
Let's summarize
Let's measure my understanding
[Let's do it together] Using conditional statements and code block flow (Ex001.cs)
[Let's do it together] Using conditional statements and code block flow (Ex002.cs)
[Let's do it together] Using the else keyword (Ex003.cs)
[Let's do it together] Not code replacing the else keyword (Ex004.cs)
[Let's do it together] if-else conditional statement combination (Ex005.cs)
[Let's try it together] A program that tells the user the characteristics of the number they entered (Ex006.cs)
[Let's do it together] Nested conditional statements (Ex007.cs)
[Let's do it together] Conditional statements using the && operator and the ternary operator (Ex008.cs)
[Let's Try It Together] Movie Rating Feedback Program (Ex009.cs)
[Let's do it together] Movie rating feedback program using switch statement (Ex010.cs)

Chapter 4 Loops: Program Control in Repeated Situations

4.1 The for loop, the most commonly used and basic loop for iterative tasks
4.2 while loop: 'Repeat ~ while ~'
4.3 Do-while loop with 1 or more iterations, while loop with 0 or more iterations
Let's summarize
Let's measure my understanding
[Let's do it together] Understanding the flow of loops (Ex001.cs)
[Let's do it together] Understanding the flow of loops, Part 2 (Ex002.cs)
[Let's do it together] Understanding the flow of loops, Part 3 (Ex003.cs)
[Let's do it together] Increment/decrement operator flow (Ex004.cs)
[Let's do it together] 5-factorial calculation (Ex005.cs)
[Let's do it together] 3 nested loops (Ex006.cs)
[Let's do it together] Multiplication Table Example (Ex007.cs)
[Let's do it together] Random number finding game using while loop (Ex007.cs)
[Let's do it together] Advanced random number finding game using while loop, using continue (Ex009.cs)
[Let's do it together] Number Finding Game Using Do-While Loop (Ex010.cs)

Chapter 5: Object-Oriented Programming: Let's Assemble Code Simply

5.1 What is object-oriented programming? How do I use classes?
5.2 What is object-oriented programming? How do methods work?
5.3 namespace: Group and manage classes with similar characteristics.
Let's summarize
Let's measure my understanding
[Let's do it together] Car class design (Ex001.cs)
[Let's do it together] Designing a car class using properties (Ex002.cs)
[Let's do it together] Designing a car class using properties (Ex003.cs)
[Let's do it together] Creating various bread objects using the bread class (Ex004.cs)
[Let's do it together] Addition common function (Ex005.cs)
[Let's do it together] Arithmetic operation method (Ex006.cs)
[Let's do it together] Arithmetic operation method (Ex007.cs)
[Let's do it together] Class inheritance (Ex008.cs)
[Let's do it together] Method Override (Ex009.cs)
[Let's do it together] Bulletin Board Class (Model/Board.cs)
[Let's do it together] Bulletin board business logic (Service/BoardService.cs)
[Let's do it together] Creating a bulletin board (Ex010.cs)
[Let's do it together] Using the using keyword (Ex011.cs)

Chapter 6 Arrays and Generics: How to Store Multiple Data

6.1 Split: How to split data based on specific characters
6.2 Array declaration formula
6.3 Arrays should not be over-eated
6.4 Another way to declare an array
6.5 Multidimensional (N-dimensional) arrays, not used often but good to know about
6.6 ArrayList: When it is impossible to predict how much data will be contained
6.7 A useful data structure to know: Queue, a structure like passengers waiting for a bus
6.8 Data Structures to Know: Stack, the Opposite of Queue
6.9 Hashtable, a dictionary-like data structure
6.10 Generics: Go Beyond the Limitations of Collection Data Structures
6.11 List[T], an upgraded version of ArrayList: The most used generic
6.12 Queue/Stack data structures used in Generic
6.13 Dictionary: A Generic Version of the Hashtable Collection
Let's summarize
Let's measure my understanding
[Let's do it together] String splitting (Ex001.cs)
[Let's do it together] Outputting weekly weather statistics using arrays (Ex002.cs)
[Let's try it together] An array that accepts more data than its declared size (Ex003.cs)
[Let's do it together] Creating a date statistics program (Ex004.cs)
[Let's do it together] Student-specific grade calculation program (Ex005.cs)
[Let's do it together] Using ArrayList (Ex006.cs) 195
[Let's do it together] Inserting into the middle of an ArrayList index (Ex007.cs)
[Let's do it together] Deleting a value in the middle of an ArrayList index (Ex008.cs)
[Let's try it together] Example of expressing the passenger status at a bus stop as a queue (Ex009.cs)
[Let's try it together] An example of selecting Olympic athletes expressed in Stack (Ex010.cs)
[Let's do it together] Example of expressing a Korean-English dictionary of country names as a Hashtable (Ex011.cs)
[Let's do it together] Creating a user-defined English-Korean dictionary (Ex012.cs)
[Let's do it together] Example of converting Ex008 ArrayList to generic expression (Ex013.cs)
[Let's do it together] Designing a model to manage student information (Model/Student.cs)
[Let's do it together] Student information management program using ArrayList (Ex014.cs)
[Let's do it together] Student information management program using generic lists (Ex015.cs)
[Let's do it together] Example of converting Ex009 Queue to a generic representation (Ex016.cs)
[Let's do it together] Example of converting Ex010 Stack to generic representation (Ex017.cs)
[Let's do it together] Example of converting the Ex012 English-Korean dictionary Hashtable structure into a generic representation (Ex018.cs)

Chapter 7: Exception Handling: Everyone Makes Unexpected Mistakes

7.1 Exceptional Circumstances? When and Where Do They Occur?
7.2 Exception Handling for Children Learning to Ride: The Role of Parents
7.3 Creating Your Own Exception Class
Let's summarize
Let's measure my understanding
[Let's do it together] Unexpected input error (Ex001.cs)
[Let's try it together] Index out of range error (Ex002.cs)
[Let's do it together] Exception Handling Basics (Ex003.cs)
[Let's do it together] Outputting exception messages and exception codes (Ex004.cs)
[Let's do it together] Case-by-Case Exception Handling (Ex005.cs)
[Let's do it together] Minimizing the try block (Ex006.cs)
[Let's do it together] finally statement (Ex007.cs)
[Let's do it together] User exception class (UserException/MyStyleException.cs)
[Let's do it together] Throwing exceptions using the user exception class (Ex008.cs)

Chapter 8 Files and Databases: Archiving Data

8.1 Representative types of file extensions: txt, log
8.2 File Input and Output
8.3 What is a database?
8.4 Installing MS-SQL
9.5 Install SQL Server Management System (SSMS)
8.6 MS-SQL Settings
8.7 Acquiring Basic SQL Knowledge
8.8 Accessing a Database Using the C# Language
8.9 Inserting and Retrieving Data Using the C# Language
8.10 Modifying and Deleting Data Using the C# Language
Let's summarize
Let's measure my understanding
[Let's do it together] Creating a directory (Ex001.cs)
[Let's try it together] Entering content into a file (Ex002.cs)
[Let's try it together] Outputting the contents to a file (Ex003.cs)
[Let's do it together] Creating a database (SQL/SQL001.sql)
[Let's do it together] Creating a table (SQL/SQL002.sql)
[Let's do it together] Adding table data (SQL/SQL003.sql)
[Let's do it together] Table data query (SQL/SQL004.sql)
[Let's do it together] Accessing the database (Ex004.cs)
[Let's do it together] Creating a user class (Model/User.cs)
[Let's do it together] Creating new data (Ex005.cs)
[Let's do it together] Data query (Ex006.cs)
[Let's do it together] Data Modification (SQL/SQL005.sql)
[Let's do it together] Deleting data (SQL/SQL006.sql)
[Let's do it together] Data modification (Ex007.cs)
[Let's do it together] Data deletion (Ex008.cs)

Chapter 9: Functional Programming, Lambdas, and LinkQ

9.1 Mathematical functions
9.2 Before the birth of Lambda, delegates
9.3 The emergence of Lambda
9.4 The Sweet Combination of Generics and Lambdas
9.5 Code that even DBAs can easily understand, LinkQ
9.6 A Taste of LINQ to SQL
Let's summarize
Let's measure my understanding
[Let's do it together] Finding even and odd numbers (Ex001.cs)
[Let's do it together] Delegate's calculator example (Ex002.cs)
[Let's do it together] Delegate's calculator example (Ex003.cs)
[Let's Try It Together] Delegate Chaining Example (Ex004.cs)
[Let's try it together] Lambda example referencing a delegate (Ex005.cs)
[Let's do it together] Student class (Model/Student.cs)
[Let's do it together] Finding students in first and third grade (Ex006.cs)
[Let's do it together] Finding first- and third-year students using lambda expressions (Ex007.cs)
[Let's do it together] Calculating the number of upperclassmen (Ex008.cs)
[Let's do it together] Calculating the number of upperclassmen using lambda expressions (Ex009.cs)
[Let's do it together] Sorting students by grade level (Ex010.cs)
[Let's do it together] Sorting students by grade using lambda expressions (Ex011.cs)
[Let's do it together] Calculating the number of students by major (Ex012.cs)
[Let's do it together] Calculating the number of students by major using lambda expressions (Ex013.cs)
[Let's do it together] Calculating the number of students by major using the dictionary (Ex014.cs)
[Let's do it together] Calculating the sum of students' grades, the highest grade, the lowest grade, and the average grade (Ex015.cs)
[Let's do it together] Calculating the sum of students' grades, highest grade, lowest grade, and average grade using lambda expressions (Ex016.cs)
[Let's do it together] Finding students in first and third grades using LINQ (Ex017.cs)
[Let's do it together] Counting the number of upperclassmen using LINQ (Ex018.cs)
[Let's do it together] Sorting students by lowest grade using LINQ (Ex019.cs)
[Let's do it together] Counting the number of students by major using LINQ (Ex020.cs)
[Let's do it together] Modifying the TB_USER table (sql001.sql)
[Let's do it together] Retrieving UESR data using LINQ to SQL (Ex021.cs)

Chapter 10 Project #1: Web Programming (Bulletin Board)

10.1 Bulletin Board Table Design
10.2 Creating a DBManager with “scalability” in mind
10.3 Creating program execution logic using a well-made DBManager class
10.4 Creating a Bulletin Board List on a Web Page
[Let's do it together] Category Table Design (SQL/SQL001.sql)
[Let's do it together] Bulletin board table design (SQL/SQL002.sql)
[Let's do it together] Designing a model that manages database information (Model/DatabaseInfo.cs)
[Let's do it together] Creating a convention for database management (Manager/IDatabaseManager.cs)
[Let's do it together] Creating a manager to manage MS-SQL databases (Manager/MsSqlManager.cs)
[Let's do it together] Creating a manager to manage an Oracle database (Manager/OracleManager.cs)
[Let's do it together] Creating a manager to manage a MySQL database (Manager/MySqlManager.cs)
[Let's Try It Together] Practical Example of Calling a Database Manager (Ex001.cs)
[Let's do it together] Displaying a list of posts on a web page (Board/Default.aspx.cs)
[Let's try it together] Setting up the post creation page screen (Board/New.aspx)
[Let's do it together] Post creation logic (Board/New.aspx.cs)

Chapter 11 Project #2: Building a POS System with WinForms

[Let's do it together] Restaurant menu management class (Model/Menu.cs)
[Let's do it together] Full code (Form1.cs)

Chapter 12 Project #3: Building a Search Engine

12.1 What is a search engine?
12.2 Search Engine Scenario
12.3 Nuget makes it easy to use external libraries.
12.4 Preparing for Search Engine Testing
12.5 Data Collection
12.6 Indexing and Retrieving Collected Data Using Lucene
12.7 Data Indexing Using LINQ to XML
12.8 Creating a search engine with indexed files
[Let's do it together] Class design for the TB_Contents table (Model/Contents.cs)
[Let's do it together] XML File Manager (Manager/XmlManager.cs)
[Let's do it together] Data Collection Manager (Manager/CrawlManager.cs)
[Let's do it together] Book class design (Model/Book.cs)
[Let's Try It Together] Indexing and Searching Example (Ex001.cs)
[Let's Try It Together] Indexing and Searching Example (Ex002.cs)
[Let's do it together] Data Collection Manager (Manager/IndexManager.cs)
[Let's do it together] Data Search Manager (Manager/SearchManager.cs)
[Let's do it together] Calling the collector (Ex003.cs)
[Let's do it together] Calling the indexer (Ex004.cs)
[Let's do it together] Calling the search engine (Ex005.cs)

supplement

1.
Installing Visual Studio on macOS
2.
Integrating Visual Studio with GitHub
3.
Managing source code on my GitHub
4.
Using Log4Net
[Let's do it together] Log4Net configuration (App.config)
[Let's do it together] Log recording (Program.cs)
Search

Detailed image
Detailed Image 1

Publisher's Review
[Target Readers]

Beginners who chose C# as their first programming language
Developers who chose C# as a new language for new projects
Readers who want to build a solid foundation in programming languages
Readers who want to learn the basics of object-oriented programming

[Key Concept]

1.
Examples and practice problems written one by one
2.
A perfect exercise that anyone can follow and learn.

[Key Features]

Includes 3 projects and 100 examples
Lambda and LinkQ perfectly mastered with examples
Provides practice problems and lecture materials.

C# is one of the most popular languages ​​used in numerous fields such as web, data science, games, and solutions.
Anyone can easily learn programming thanks to the strong support provided by the development tool called Visual Studio.
If you can solve and understand the large and small missions (examples) provided in this book, you are already a programmer.


3 Projects to Improve Your Skills

1.
Create a console bulletin board and expand it to a web bulletin board.
Since most projects involve a lot of data handling, creating a bulletin board can be easily adapted to any project.
This book first creates a console bulletin board to understand the principles, and then briefly explains how to implement it on the web.

2.
Creating a Point of Sale (POS) System
Anywhere you create a solution that runs on Windows, you will definitely need Windows Forms.
You can lay the foundation for WinForms programming by creating the most basic sales management system.


3.
A search engine project for readers seeking to explore data-related fields.
If you're pursuing a career in data-related fields, this project would be a great fit.
You will learn the fundamental principles of data collection, indexing, and retrieval.

If I just read with my eyes, it can never become my knowledge.
In particular, the practice problems provided in this book are like miniature versions of the missions you will encounter and solve later in your career.
If it doesn't work out, you should stay up all night thinking about it and solving it, then feel a sense of accomplishment, compare it with the author's answer, and learn from what you did well and what you did wrong.

Solving practice problems on your own starts with thinking about how you would write a program when given a certain mission, whether you would use a for loop, a switch statement, or what data structure you would use, such as an array, list, or generic.
No matter which introductory book you choose, I hope you'll become a good reader who solves the practice problems on your own.
And I wish you a happy and enjoyable life, spreading your wings to the fullest in the world of programming you desire.

[Editor's Comment]
As expected, the highlight was the practice problems.
Even though I studied the sentence structure in the text diligently, if I couldn't remember it, I had no choice but to refer to the text, but I never looked at the answers provided by the author.
And when I compared my own completed solutions with the solutions provided by the author, I think there were many moments of great realization, like, "Wow, you can code like this too."
The time spent solving practice problems was the most difficult and fun.
Just looking at a simple proofreading problem doesn't even take 10 minutes, but there were times when I struggled with just one problem all day.
While doing so, I communicated with the author to find out if there were any lack of hints and why it took so long, and contributed to the completeness of the book by providing hints for practice problems and slightly modifying the problems.
GOODS SPECIFICS
- Publication date: November 15, 2019
- Page count, weight, size: 456 pages | 188*257*30mm
- ISBN13: 9788997924455
- ISBN10: 8997924451

You may also like

카테고리