Muutke küpsiste eelistusi

Murach's C# (8th Edition) 8th Revised ed. [Pehme köide]

  • Formaat: Paperback / softback, 770 pages, 332
  • Ilmumisaeg: 28-Apr-2023
  • Kirjastus: Mike Murach & Associates Inc.
  • ISBN-10: 1943873070
  • ISBN-13: 9781943873074
  • Formaat: Paperback / softback, 770 pages, 332
  • Ilmumisaeg: 28-Apr-2023
  • Kirjastus: Mike Murach & Associates Inc.
  • ISBN-10: 1943873070
  • ISBN-13: 9781943873074
The 8th Edition of Murach’s C# does a better job than ever of teaching the C# programming language. Each section features clear examples and easy-to-understand explanations that walk you through crucial skills, best practices, and helpful tips.

The 8th Edition of Murach’s C# does a better job than ever of teaching the C# programming language. Each section features clear examples and easy-to-understand explanations that walk you through crucial skills, best practices, and helpful tips.Using this book as your guide, you’ll get off to a fast start by taking advantage of the best features of Visual Studio, C#, and the .NET classes to develop Windows Forms apps. Because of its self-paced approach, this book works equally well whether you’re new to programming or an experienced developer.After presenting some essential C# skills, this book shows how to write object-oriented code the way it’s done in the real world. It also shows you how to work with a database using EF (Entity Framework) or ADO.NET. When you’re done, you’ll be able to develop 3-tier, object-oriented, Windows Forms apps that work with a database. More importantly, you’ll have a solid set of C# skills that you can apply to any C# app whether it’s for the desktop, the web, or mobile devices.Every Murach book guarantees high quality. The complete apps show how each feature works in context. The exercises at the end of each chapter let you practice your new skills and gain valuable hands-on experience. And the distinctive “paired-pages” format is ideal for learning and reference.
Section 1 An introduction to Visual Studio
Chapter 1 How to got started with Visual Studio
An introduction to NET development
4(1)
Platforms for NET applications
4(2)
Visual Studio and the NET programming languages
6(2)
The NET Framework and NET Core
8(2)
The Visual Studio IDE
10(2)
How a C# application is compiled and run
12(2)
A tour of the Visual Studio IDE
14(1)
How to start Visual Studio
14(2)
How to open or close an existing project
16(2)
How to use the Form Designer
18(2)
How to use the Code Editor
20(2)
How to use the Solution Explorer
22(2)
How to work with Visual Studio's windows
24(2)
How to change the NET version used by a project
26(2)
How to test a project
28(1)
How to build a project
28(1)
How to run a project
28(2)
Perspective
30(4)
Chapter 2 How to design a Windows Forms app
How to get started
34(1)
How to create a new project
34(2)
How to configure a new Windows Forms app
36(2)
How to design a form
38(1)
The design of the Invoice Total form
38(2)
How to add controls to a form
40(2)
How to set properties
42(2)
Common properties for forms and controls
44(2)
How to add navigation features
46(2)
The property settings for the Invoice Total form
48(2)
How to finish your design
50(1)
How to rename the files of a project
50(1)
How to save the files of a project
50(2)
Perspective
52(4)
Chapter 3 How to code and test a Windows Forms app
An introduction to coding
56(1)
Introduction to object-oriented programming
56(2)
How to refer to properties, methods, and events
58(2)
How an application responds to events
60(2)
How to add code to a form
62(1)
How to create an event handler for the default event of a form or control
62(1)
How to delete an event handler
62(2)
How IntelliSense helps you enter the code for a form
64(2)
The event handlers for the Invoice Total form
66(2)
How to detect and correct syntax errors
68(2)
More coding skills
70(1)
How to code with a readable style
70(2)
How to code comments
72(2)
How to work with the Text Editor toolbar
74(1)
How to collapse or expand blocks of code
74(2)
How to use code snippets
76(2)
How to refactor code
78(1)
How to get help information
78(2)
How to run, test, and debug a project
80(1)
How to run a project
80(2)
How to test a project
82(2)
How to debug runtime errors
84(2)
Perspective
86(6)
Section 2 The C# language essentials
Chapter 4 How to work with numeric and string data
How to work with the built-in value types
92(1)
The built-in value types
92(2)
How to declare and initialize variables
94(2)
How to declare and initialize constants
96(2)
How to code arithmetic expressions
98(2)
How to code assignment statements
100(2)
How to work with the order of precedence
102(2)
How to use casting
104(2)
How to use the Math class
106(2)
How to generate random numbers
108(2)
How to work with strings
110(1)
How to declare and initialize a string
110(1)
How to join and append strings
110(2)
How to include special characters in strings
112(2)
How to code raw string literals
114(2)
How to convert data types
116(1)
The NET structures and classes that define data types
116(2)
How to use methods to convert data types
118(2)
How to use methods to convert numbers to formatted strings
120(2)
Four other skills for working with data
122(1)
How to work with scope
122(2)
How to declare and use enumerations
124(2)
How to work with nullable value types and the null-coalescing operators
126(2)
How to work with nullable reference types
128(2)
Two versions of the Invoice Total app
130(1)
The basic Invoice Total app
130(2)
The enhanced Invoice Total app
132(2)
Perspective
134(4)
Chapter 5 How to code control structures
How to code Boolean expressions
138(1)
How to use the relational operators
138(2)
How to use the logical operators
140(2)
How to code conditional statements and expressions
142(1)
How to code if-else statements
142(2)
How to code switch statements
144(2)
How to code switch expressions
146(2)
How to use pattern matching
148(2)
How to use the conditional operator
150(2)
An enhanced version of the Invoice Total app
152(2)
How to code loops
154(1)
How to code while and do-while loops
154(2)
How to code for loops
156(2)
Loops that use break and continue statements
158(2)
Debugging techniques for programs with loops
160(2)
The Future Value app
162(1)
The design and property settings for the form
162(2)
The code for the form
164(2)
Perspective
166(4)
Chapter 6 How to code methods and event handlers
How to code and call methods
170(1)
How to code methods
170(2)
How to call methods
172(2)
How to use optional parameters
174(1)
How to use named arguments
174(2)
How to code expression-bodied methods
176(2)
How to use refactoring to create a new method and its calling statement
178(2)
When and how to pass arguments by reference and by value
180(4)
How to work with tuples
184(1)
How to create tuples and refer to their members
184(2)
How to use a tuple as the return type for a method
186(2)
How to work with events and delegates
188(1)
How to generate an event handler for any event
188(2)
How event wiring works
190(2)
How to handle multiple events with one event handler
192(2)
Another version of the Future Value app
194(1)
The event handlers and the Calculate Future Value () method
194(2)
Some of the generated code
196(2)
Perspective
198(4)
Chapter 7 How to handle exceptions and validate data
An introduction to exceptions
202(1)
How exceptions work
202(2)
How to display a dialog
204(2)
How to use structured exception handling
206(1)
How to catch an exception
206(2)
How to use the properties and methods of an exception
208(2)
How to catch specific types of exceptions
210(2)
How to throw an exception
212(2)
The Future Value app with exception handling
214(2)
How to validate data
216(1)
How to validate a single entry
216(2)
How to code generic methods for data validation
218(2)
How to validate multiple entries
220(2)
The Future Value app with data validation
222(1)
The dialogs
222(1)
The code
222(4)
Perspective
226(4)
Chapter 8 How to use arrays and collections
How to work with one-dimensional arrays
230(1)
How to create an array
230(2)
How to assign values to the elements of an array
232(2)
How to work with arrays
234(2)
How to use foreach loops to work with arrays
236(2)
How to work with rectangular arrays
238(1)
How to create a rectangular array
238(1)
How to assign values to a rectangular array
238(2)
How to work with rectangular arrays
240(2)
More skills for working with arrays
242(1)
How to use the Array class
242(2)
How to refer to and copy arrays
244(2)
How to code methods that work with arrays
246(2)
How to use the null-conditional operator
248(2)
More ways to refer to array elements
250(2)
How to work with list patterns
252(2)
How to work with collections
254(1)
Commonly used collection classes
254(2)
Typed vs. untyped collections
256(2)
How to work with a list
258(4)
How to work with a sorted list
262(4)
How to work with queues and stacks
266(2)
How to work with an array list
268(2)
Perspective
270(4)
Chapter 9 How to work with dates and strings
How to work with dates and times
274(1)
How to create a DateTime value
274(2)
How to get the current date and time
276(1)
How to format DateTime values
276(2)
How to get information about dates and times
278(2)
How to perform operations on dates and times
280(2)
How to work with strings
282(1)
The members of the String class
282(2)
Code examples that work with strings
284(2)
More code examples that work with strings
286(2)
How to use interpolated strings for join operations
288(2)
How to use the Parse() and TryParse() methods to validate numeric entries
290(2)
How to use the StringBuilder class
292(2)
How to format numbers, dates, and times
294(1)
How to format numbers
294(2)
How to format dates and times
296(2)
How to use interpolated strings for formatting
298(2)
Perspective
300(4)
Chapter 10 More skills for working with Windows forms and controls
How to work with controls
304(1)
Five more types of controls
304(2)
How to work with combo boxes and list boxes
306(4)
How to work with check boxes and radio buttons
310(1)
How to work with group boxes
310(2)
How to use Tab Order view to set the tab order
312(2)
How to get the information you need for using a control
314(2)
How to work with multi-form projects
316(1)
How to add a form to a project
316(2)
The code that's generated for a new form
318(2)
How to work with global using directives
320(2)
How to rename a form
322(2)
How to display the first form of an app
324(2)
How to display a form as a dialog
326(2)
How to pass data between a form and a custom dialog
328(2)
How to use the MessageBox class
330(1)
How to display a dialog and get the user response
330(2)
How to use the FormClosing event
332(2)
The Payment app
334(1)
The operation
334(2)
The property settings
336(1)
The code for the Customer form
336(4)
The code for the Payment form
340(4)
Perspective
344(4)
Chapter 11 How to debug an app
Basic debugging techniques
348(1)
How to work in break mode
348(1)
How to work with data tips
348(2)
How to use the Hot Reload feature
350(2)
How to use breakpoints
352(2)
How to control the execution of an app
354(2)
How to use the debugging windows
356(1)
How to use the Locals window to monitor variables
356(1)
How to use the Autos window to monitor variables
356(2)
How to use Watch windows to monitor expressions
358(2)
How to use the Immediate window to execute commands
360(2)
How to use the Output window to view project information
362(2)
How to write data to the Output window
364(2)
How to use the Visualizer to view strings and collections
366(2)
Perspective
368(6)
Section 3 Object-oriented programming
Chapter 12 How to create and use classes
An introduction to classes
374(1)
How classes can be used to structure an app
374(2)
How to define a class
376(2)
How to create objects from a class
378(2)
Basic skills for creating a class
380(1)
How to add a class file to a project
380(2)
How to code properties
382(2)
How to code methods
384(2)
How to code constructors
386(2)
How to code static members
388(2)
The Product Maintenance app
390(1)
The operation of the Product Maintenance app
390(2)
The classes used by the Product Maintenance app
392(2)
The code for the Product Maintenance app
394(4)
More skills for creating and using classes
398(1)
How to code properties with fields
398(2)
How to code overloaded methods and constructors
400(2)
How to code required properties
402(2)
How to use property patterns
404(4)
How to create and use structures, records, and record structs
408(1)
How to create a structure
408(2)
How to use a structure
410(2)
How to create and use a record
412(2)
How to create and use a record struct
414(1)
When to use classes, structures, records, and record structs
414(2)
The Product Maintenance app updated to use a record
416(2)
Perspective
418(4)
Chapter 13 How to work with indexers, delegates, events, and operators
An introduction to the ProductList class
422(1)
The code for a simple ProductList class
422(2)
The specifications for the enhanced ProductList class
424(2)
How to work with indexers
426(1)
How to create an indexer
426(2)
How to code expression-bodied indexers and accessors
428(2)
How to throw an argument exception
430(2)
How to work with delegates and events
432(1)
How to define and use a delegate
432(2)
How to define and use events
434(2)
How to use anonymous methods and lambda expressions with delegates and events
436(2)
How to overload operators
438(1)
An introduction to operator overloading
438(2)
How to overload arithmetic operators
440(2)
How to overload relational operators
442(2)
An enhanced version of the Product Maintenance application
444(1)
The code for the ProductList class
444(4)
The code for the Product Maintenance form
448(2)
Perspective
450(4)
Chapter 14 How to work with inheritance
An introduction to inheritance
454(1)
How inheritance works
454(2)
How NET uses inheritance
456(2)
Methods inherited from the System.Object class
458(2)
How to use inheritance in your apps
460(2)
Basic skills for working with inheritance
462(1)
How to create a base class
462(2)
How to create a subclass
464(2)
How polymorphism works
466(2)
An inheritance version of the Product Maintenance app
468(1)
The operation of the Product Maintenance app
468(2)
The code for the Product, Book, and Software classes
470(2)
The code for the ProductList class
472(2)
The code for the Product Maintenance form
474(2)
The code for the New Product form
476(2)
Object types and casting
478(1)
How to use the Type class to get information about an object's type
478(2)
How to use casting with inheritance
480(2)
How to work with abstract and sealed classes
482(1)
How to work with abstract classes
482(2)
How to work with sealed classes
484(2)
Perspective
486(4)
Chapter 15 How to work with interfaces and generics
How to work with interfaces
490(1)
An introduction to interfaces
490(2)
Some of the interfaces denned by NET
492(2)
How to create an interface
494(2)
How to work with default methods
496(1)
How to work with static methods and fields
496(2)
How to implement an interface
498(2)
A Product class that implements the ICloneable interface
500(2)
How to use an interface as a parameter
502(2)
How to work with generics
504(1)
How to code a class that defines a generic collection
504(4)
Some of the generic interfaces defined by .NET
508(2)
How to implement the I Comparable<T> interface
510(2)
How to use constraints
512(2)
How to implement the IEnumerable<T> interface
514(2)
How to code an interface that uses generics
516(2)
Perspective
518(4)
Chapter 16 How to organize, document, and test your classes
How to organize your classes
522(1)
How to code multiple classes in a single file
522(2)
How to split a single class across multiple files
524(2)
How to work with namespaces
526(2)
How to work with file scoped namespaces
528(2)
How to document your classes
530(1)
How to add XML documentation to a class
530(2)
How to view the XML documentation
532(2)
How to create and use class libraries
534(1)
How class libraries work
534(2)
How to create a class library project
536(2)
How to add a reference to a class library
538(1)
How to use the classes in a class library
538(2)
How to implement unit testing
540(1)
How unit testing works
540(2)
How to create a unit test project
542(2)
How to code unit tests
544(2)
How to run unit tests
546(2)
Perspective
548(6)
Section 4 Basic skills for working with data
Chapter 17 How to work with file I/O
An introduction to the System.IO classes
554(1)
The classes for managing directories, files, and paths
554(2)
How files and streams work
556(2)
How to use the FileStream class
558(2)
How to use the exception classes for file I/O
560(2)
How to work with text files
562(1)
How to write a text file
562(2)
How to read a text file
564(2)
How to use the using statement and the using declaration
566(2)
A class that works with a text file
568(2)
How to work with binary files
570(1)
How to write a binary file
570(2)
How to read a binary file
572(2)
A class that works with a binary file
574(2)
Perspective
576(2)
Chapter 18 How to use LINQ
Basic concepts for working with LINQ
578(1)
How LINQ is implemented
578(1)
Advantages of using LINQ
578(2)
The three stages of a query operation
580(2)
How to code query expressions
582(1)
How to identify the data source for a query
582(2)
How to filter the results of a query
584(2)
How to sort the results of a query
586(2)
How to select fields from a query
588(2)
How to join data from two or more data sources
590(2)
How to code method-based queries
592(1)
How to use the LINQ methods for query operations
592(2)
How to use additional LINQ methods
594(2)
A Customer Invoice application that uses generic lists
596(1)
The user interface
596(2)
The code for the form
598(2)
Perspective
600(6)
Section 5 Database programming
Chapter 19 An introduction to database programming
An introduction to client/server systems
606(1)
The hardware components of a client/server system
606(2)
The software components of a client/server system
608(2)
An introduction to relational databases
610(1)
How a table is organized
610(2)
How the tables in a database are related
612(2)
How the columns in a table are defined
614(2)
The design of the MM ABooks database
616(2)
How to use SQL to work with a relational database
618(1)
How to query a single table
618(2)
How to join data from two or more tables
620(2)
How to add, update, and delete data in a table
622(2)
Perspective
624(2)
Chapter 20 How to use Entity Framework Core
How to create a data model
626(1)
How Entity Framework Core works
626(2)
How to add EF Core to your project
628(2)
How to generate DB context and entity classes
630(2)
The data model for the MMA Books database
632(2)
The code for the DB context class
634(4)
The code for the Customer entity class
638(2)
How to modify the generated code
640(2)
How to use LINQ with EF Core
642(1)
How to retrieve data
642(2)
How to load related objects
644(2)
How to use EF Core to modify a database
646(1)
How to insert, update, and delete data
646(2)
How to handle database exceptions
648(2)
How concurrency affects insert, update, and delete operations
650(2)
How to check for concurrency conflicts
652(2)
How to handle concurrency exceptions
654(2)
How to bind controls
656(1)
How to bind controls to a collection
656(1)
How to bind controls to the results of a query
656(2)
How to code a data access class
658(1)
A simple data access class's
658(2)
A data access class that handles exceptions
660(4)
The Customer Maintenance app
664(1)
The user interface
664(2)
The code for the Customer Maintenance form
666(6)
The code for the Add/Modify Customer form
672(4)
Perspective
676(6)
Chapter 21 How to use ADO.NET to write your own data access code
An introduction to ADO.NET
682(1)
The NET data provider for SQL Server
682(1)
How the connection, command, and data reader objects work
682(2)
How to work with connections and commands
684(1)
How to create and work with connections
684(2)
How to create and work with commands
686(2)
How to work with parameters
688(1)
How to use parameters in SQL statements
688(2)
How to create and work with the parameters for a command
690(2)
How to execute commands
692(1)
How to create and work with a data reader
692(2)
How to execute queries that return a single value
694(1)
How to execute action queries
694(2)
The Customer Maintenance app
696(1)
The user interface
696(2)
The code for the data access class
698(8)
Perspective
706(4)
Chapter 22 How to use the DataGridView control
How to display data in a DataGridView control
710(1)
An introduction to the DataGridView control
710(2)
How to set the functions provided by a DataGridView control
712(2)
How to bind to a data source
714(2)
How to code a method in a data access class that gets selected columns
716(2)
How to format the columns
718(2)
How to format the headers and alternating rows
720(2)
How to work with columns and events
722(1)
How to add and remove columns
722(2)
How to work with the object that's passed to an event handler
724(2)
A Product Maintenance app
726(1)
The user interface
726(2)
The code for the Product Maintenance form
728(4)
How to provide paging for a DataGridView control
732(1)
The user interface for a form that provides for paging
732(2)
The code that implements the paging
734(4)
How to create a Master/Detail form
738(1)
The user interface for a Master/Detail form
738(2)
The code for the DTOs, data access class, and form
740(2)
Perspective
742(6)
Appendix A How to set up Windows for this book
How to install the files for this book
748(2)
How to install Visual Studio
750(2)
How to set up your system to use the database
752