Title Page Copyright and Credits Programming in C#: Exam 70-483 (MCSD) Guide About Packt Why subscribe? Contributors About the authors About the reviewers Packt is searching for authors like you Preface Who this book is for What this book covers To get the most out of this book Download the example code files Download the color images Conventions used Get in touch Reviews Learning the Basics of C# Technical requirements Comparing C# with C and C++ C# versus C  C# versus C++  .NET Framework  Languages/applications The class library Common Language Runtime (CLR) .NET Framework release versions  Visual Studio for C# Basic structure of C# Creating a basic program in C# Summary Questions Answers Understanding Classes, Structures, and Interfaces Technical requirements Access modifiers Data types in C# Value type variables Simple types Enum types Struct types Reference type variables Structs versus classes Interfaces and inheritance Inheritance Interfaces in C# Summary Questions Answers Understanding Object-Oriented Programming Technical requirements Understanding object-oriented programming Understanding encapsulation Code example Understanding abstraction Understanding inheritance Method overriding Abstract classes Abstract versus virtual methods Sealed classes Understanding polymorphism Static/compile-time polymorphism Runtime polymorphism Summary  Questions Answers Implementing Program Flow Technical requirements Understanding operators Unary operators Relational operators Equality operators Shift operators Logical, conditional, and null operators Understanding conditional/selection statements if...else switch..case..default break goto continue Iteration statements do...while for Initializer section Condition section Iteration section Examples of rare usage for statements foreach...in while Summary Questions Answers Further reading Creating and Implementing Events and Callbacks Technical requirements Understanding delegates Instantiating a delegate Initiating delegates using NamedMethod Initiating a delegate using anonymous functions Lambda expressions Anonymous methods Variance in delegates Built-in delegates Multicast delegates Handling and raising events Summary Questions Answers Further reading Managing and Implementing Multithreading Technical requirements Understanding threads and the threading process Managing threads Thread properties Parameterized threads Foreground and background threads Thread states Destroying threads Thread pools Thread storage Synchronizing data in multithreading Multithreading Parallel programming TPL Data parallelism Using tasks Using the Parallel class PLINQ Asynchronous programming with async and await Summary Questions Answers Further reading Implementing Exception Handling Technical requirements Exceptions and handling exceptions in code Using exceptions Exception handling Compiler-generated exceptions Custom exceptions Summary Questions Answers Further reading Creating and Using Types in C# Technical requirements Creating types Types in C#  Unsafe code and the use of pointer types Choosing the type of variable Static variables Static member variables Static methods Constructors Named parameters Optional parameters Generics types Consuming data types in C# Boxing and unboxing  Type conversions in C# Implicit conversion Explicit conversion Enforcing encapsulation Manipulating strings StringBuilder StringReader and StringWriter String searching  Overview of reflection Summary  Questions Answers Managing the Object Life Cycle Technical requirements Managed code versus unmanaged code Garbage collection Managed heap Generations The mark-compact algorithm Calling garbage collection Managing unmanaged resources The finalization mechanism The IDisposable interface The using block Summary Questions Answers Find, Execute, and Create Types at Runtime Using Reflection Technical requirements Attributes Using attributes Creating custom attributes Retrieving metadata Reflection Invoking methods and using properties Summary Questions Answers Validating Application Input Technical requirements The importance of validating input data Data integrity Parsing and converting Regular expressions JSON and XML Summary Questions Answers Performing Symmetric and Asymmetric Encryption Technical requirements Cryptography Symmetric encryption Asymmetric encryption Digital signatures Hash values Summary Questions Answers Managing Assemblies and Debugging Applications Technical requirements Assemblies Assembly contents and manifest Target .NET Framework Signing assemblies Versioning assemblies Version number Debugging the C# application Tracing Summary Questions Answers Performing I/O Operations Technical requirements File I/O operations Working with System.IO helper classes Drives and directories Checking whether the directory exists Creating a directory Looping through the files Working with files Checking whether a file exists Moving a file from one location to another Copying a file from one location to another Deleting a file  Stream object FileStream Exception handling Reading data from a network WebRequest and WebResponse Asynchronous I/O operations Async operations on file Using the await statement for parallel asynchronous calls Summary  Questions Answers Using LINQ Queries Technical requirements Introducing LINQ Queries Understanding language features that make LINQ possible Implicitly typed variables Object initialization syntax Lambda expressions Extension methods Anonymous types Understanding LINQ query operators Select and SelectMany The join operator The orderby operator Average GroupBy Understanding LINQ behind the scenes Using LINQ to XML Querying XML Creating XML Updating XML Summary  Questions Answers Serialization, Deserialization, and Collections Technical requirements Serialization and deserialization XmlSerializer Binary serialization Working with collections Arrays Lists Dictionary Queues and stacks Choosing a collection Summary  Questions Answers Mock Test 1 Mock Test 2 Mock Test 3 Assessments Chapter 17 – Mock Test 1 Chapter 18 – Mock Test 2 Chapter 19 – Mock Test 3  Other Books You May Enjoy Leave a review - let other readers know what you think