Book description
When you have questions about C# 10 or .NET 6, this best-selling guide has the answers you need. C# is a language of unusual flexibility and breadth, and with its continual growth, there's always so much more to learn. In the tradition of O'Reilly's Nutshell guides, this thoroughly updated edition is simply the best one-volume reference to the C# language available today.
Organized around concepts and use cases, this comprehensive and complete reference provides intermediate and advanced programmers with a concise map of C# and .NET that also plumbs significant depths.
- Get up to speed on C#, from syntax and variables to advanced topics such as pointers, closures, and patterns
- Dig deep into LINQ, with three chapters dedicated to the topic
- Explore concurrency and asynchrony, advanced threading, and parallel programming
- Work with .NET features, including regular expressions, networking, assemblies, spans, reflection, and cryptography
Table of contents
- Preface
- 1. Introducing C# and .NET
- 2. C# Language Basics
-
3. Creating Types in C#
- Classes
- Inheritance
- The object Type
- Structs
- Access Modifiers
- Interfaces
- Enums
- Nested Types
-
Generics
- Generic Types
- Why Generics Exist
- Generic Methods
- Declaring Type Parameters
- typeof and Unbound Generic Types
- The default Generic Value
- Generic Constraints
- Subclassing Generic Types
- Self-Referencing Generic Declarations
- Static Data
- Type Parameters and Conversions
- Covariance
- Contravariance
- C# Generics Versus C++ Templates
-
4. Advanced C#
- Delegates
- Events
- Lambda Expressions
- Anonymous Methods
- try Statements and Exceptions
- Enumeration and Iterators
- Nullable Value Types
- Nullable Reference Types
- Extension Methods
- Anonymous Types
- Tuples
- Records
- Patterns
- Attributes
- Caller Info Attributes
- Dynamic Binding
- Operator Overloading
- Unsafe Code and Pointers
- Preprocessor Directives
- XML Documentation
-
5. .NET Overview
- .NET Standard
- Runtime and C# Language Versions
- Reference Assemblies
-
The CLR and BCL
- System Types
- Text Processing
- Collections
- Querying
- XML and JSON
- Diagnostics
- Concurrency and Asynchrony
- Streams and Input/Output
- Networking
- Assemblies, Reflection, and Attributes
- Dynamic Programming
- Cryptography
- Advanced Threading
- Parallel Programming
- Span<T> and Memory<T>
- Native and COM Interoperability
- Regular Expressions
- Serialization
- The Roslyn Compiler
- Application Layers
-
6. .NET Fundamentals
- String and Text Handling
- Dates and Times
- DateOnly and TimeOnly
- DateTime and Time Zones
- Formatting and Parsing
- Standard Format Strings and Parsing Flags
- Other Conversion Mechanisms
- Globalization
- Working with Numbers
- BitOperations
- Enums
- The Guid Struct
- Equality Comparison
- Order Comparison
- Utility Classes
- 7. Collections
- 8. LINQ Queries
- 9. LINQ Operators
- 10. LINQ to XML
- 11. Other XML and JSON Technologies
- 12. Disposal and Garbage Collection
- 13. Diagnostics
- 14. Concurrency and Asynchrony
- 15. Streams and I/O
- 16. Networking
- 17. Assemblies
- 18. Reflection and Metadata
- 19. Dynamic Programming
- 20. Cryptography
- 21. Advanced Threading
- 22. Parallel Programming
- 23. Span<T> and Memory<T>
- 24. Native and COM Interoperability
- 25. Regular Expressions
- Index
- About the Authors
Product information
- Title: C# 10 in a Nutshell
- Author(s):
- Release date: February 2022
- Publisher(s): O'Reilly Media, Inc.
- ISBN: 9781098121952
You might also like
book
Designing Data-Intensive Applications
Data is at the center of many challenges in system design today. Difficult issues need to …
book
Generative Deep Learning, 2nd Edition
Generative AI is the hottest topic in tech. This practical book teaches machine learning engineers and …
book
Entity Framework Core in Action, Second Edition
Entity Framework Core in Action, Second Edition is an in-depth guide to reading and writing databases …
book
High-Performance Programming in C# and .NET
Enhance your applications' performance using best practices for benchmarking, application profiling, asynchronous programming, designing responsive UIs, …