Mastering C# 8.0
US$ 19.95
The publisher has enabled DRM protection, which means that you need to use the BookFusion iOS, Android or Web app to read this eBook. This eBook cannot be used outside of the BookFusion platform.
Description
Contents
Reviews
Language
English
ISBN
9789388511605
Cover Page
Title Page
Copyright Page
Dedication
About the Author
About the Reviewer
Acknowledgement
Preface
Errata
Table of Contents
1. The Microsoft NET Ecosystem
Structure
Objective
Introduction to Microsoft .NET
Evolution of .NET framework
Common Language Runtime
Common Intermediate Language
Dynamic Language Runtime
Framework Class Library
Common Type System
Value types and reference types
Managed and unmanaged code
Just-in-Time compiler
Garbage collection
Security
Role-based security
Code access security
Conclusion
Questions
2. Getting started with C#
Structure
Objective
Building a Hello World application
Building a class library
Keywords
Constructs
Loops
Operators
Value and reference types
Boxing and unboxing
Arrays
Multidimensional array
Jagged array
Conclusion
Questions
3. Object-Oriented Programming–Part 1
Structure
Objective
Object-oriented programming (OOP)
Classes and objects
Access specifiers
Constructors in C#
Instance constructors or non-static constructors
Default constructor
Static constructors or class constructors
Constructor overloading
Constructor chaining
Access specifiers or modifiers
Constructors and inheritance
Destructors
Constructors in structs
Conclusion
Questions
4. Object-Oriented Programming –Part 2
Structure
Objective
Association
Aggregation
Composition
Generalization
Realization
Dependency
Polymorphism
Static polymorphism or compile-time polymorphism
Dynamic or runtime polymorphism
Encapsulation
Access modifier “public”
Access modifier “private”
Access modifier “protected”
Access modifier “internal”
Access modifier “protected internal”
Access modifier “private protected”
Abstraction
Inheritance
Single inheritance
Multi-level inheritance
Multiple inheritance (not supported by C# or Java)
Hierarchical inheritance (not supported by C# or Java)
Hybrid inheritance (not supported by C# or Java)
Rules of inheritance
Conclusion
Questions
5. Properties and Indexers in C#
Structure
Objective
Properties in C#
Restrictions on properties
Accessor
Non-static properties
Static properties
Restricting visibility
Properties and inheritance
Abstract properties
Virtual properties and polymorphism
Indexers in C#
Overloadedindexers
Indexers and inheritance
Indexers and polymorphism
Abstract indexers
Multi-dimensional indexer
Conclusion
Questions
6. Programming LINQ in C#
Structure
Objective
Overview of LINQ
Features and benefits of LINQ
LINQ architecture
LINQ to Objects
LINQ to XML
LINQ to SQL
LINQ to DataSet
LINQ to Entities
Conclusion
Questions
7. Generic Collections in C#
Structure
Objective
The System.Collections namespace
Working with the non-generic collection types
ArrayList
Stack
Queue
Hashtable
SortedList
BitArray
Generics—what is it and why should I use it?
Working with generic collection types
Dictionary
Implementing a generic collection class
HashSet<T>
Working with concurrent collections
BlockingCollection<T>
ConcurrentBag<T>
ConcurrentDictionary<TKey,TValue>
ConcurrentStack<T>
ConcurrentQueue<T>
Conclusion
Questions
8. Delegates, Funcs and Actions in C#
Structure
Objective
Lambda expressions
Anonymous methods
Delegates
Multicast delegate
Func delegate
Using Func delegate with anonymous methods
Using Func delegate with lambda expressions
Action delegate
Using action delegate with anonymous methods
Predicate delegate
Using a predicate delegate with an anonymous method
Using a predicate delegate with a lambda expression
Extension methods
Extension methods can be chained
Precedence of extension methods
Conclusion
Questions
9. Exception Handling in C#
Structure
Objective
Exceptions
Exception class hierarchy
Exception keywords—try, catch, finally, and throw
“Finally” blocks are always executed
Throwing exceptions
Implementing a custom exception class
Using the “using” statement
Exception filters
Best practices
Conclusion
Questions
10. Asynchrony and Parallel Programming in C#
Structure
Objective
Thread verses Task
Parallel programming
Parallel Extensions Library
Task Parallel Library
Parallel LINQ
Controlling Parallelism
Asynchronous programming
Async and Await
Task.Run and Task.Factory.StartNew
Task.WaitAll and Task.WhenAll methods
Best practices of asynchronous programming
Avoid using async void methods
Avoid mixing synchronous and asynchronous code
Conclusion
Questions
11. Multithreading in C#
Structure
Objective
Process, threads, and tasks
Multithreading
Types of multithreading
Benefits and drawbacks of multithreading
Programming threads
Foreground and background threads
Handling exceptions
Thread states
Suspending and resuming a thread
Passing data to a thread
Naming threads
Putting a thread to sleep
Joining threads
Terminating threads
Thread priorities
Thread pooling
Thread synchronization
Deadlocks
Conclusion
Questions
12. File I/O and Serialization in C#
Structure
Objective
The System.IO namespace
Working with directories
Working with files
Serialization
Binary serialization
XML serialization
SOAP serialization
Custom serialization
The Serializable attribute
JSON serialization and deserialization
Conclusion
Questions
13. Advanced Concepts of C#
Structure
Objective
Tuples
Pattern matching
Local functions
Nullable types and non-nullable reference types
Unsafe code
Preprocessor directives
Regular expressions
Dynamic Language Runtime
Attributes
Pre-defined attributes
AttributeUsage
Conditional
Obsolete
Custom attributes
Reflection
Conclusion
Questions
14. New Features in C#8.0
Structure
Objective
Getting started
Default interface members
Nullable reference types
Readonly members
Static local functions
Asynchronous streams
Pattern matching enhancements
Using declarations
Record types
Disposable ref structs
Conclusion
Questions
15. Getting Started with Visual Studio 2019
Structure
Different editions of Visual Studio 2019
Installing Visual Studio 2019
Starting Visual Studio 2019
Creating projects in Visual Studio 2019
Writing a Hello World application in Visual Studio 2019
References for further study
Index
The book hasn't received reviews yet.