You are previewing Exam Ref 70-483: Programming in C#.
O'Reilly logo
Exam Ref 70-483: Programming in C#

Book Description

Prepare for Microsoft Exam 70-483—and help demonstrate your real-world mastery of programming in C#. Designed for experienced software developers ready to advance their status, Exam Ref focuses on the critical-thinking and decision-making acumen needed for success at the Microsoft Specialist level.

Focus on the expertise measured by these objectives:

  • Manage Program Flow

  • Create and Use Types

  • Debug Applications and Implement Security

  • Implement Data Access

  • This Microsoft Exam Ref:

  • Organizes its coverage by exam objectives.

  • Features strategic, what-if scenarios to challenge you.

  • Table of Contents

    1. Exam Ref 70-483: Programming in C#
    2. Dedication
    3. Introduction
      1. Microsoft certifications
      2. Who should read this book
        1. Assumptions
      3. Organization of this book
      4. System requirements
      5. Conventions and features in this book
      6. Acknowledgments
      7. Errata & book support
      8. We want to hear from you
      9. Stay in touch
    4. Preparing for the exam
    5. 1. Manage program flow
      1. Objective 1.1: Implement multithreading and asynchronous processing
        1. Understanding threads
          1. Using the Thread class
          2. Thread pools
        2. Using Tasks
        3. Using the Parallel class
        4. Using async and await
        5. Using Parallel Language Integrated Query (PLINQ)
        6. Using concurrent collections
          1. BlockingCollection<T>
          2. ConcurrentBag
          3. ConcurrentStack and ConcurrentQueue
          4. ConcurrentDictionary
        7. Objective summary
        8. Objective review
      2. Objective 1.2: Manage multithreading
        1. Synchronizing resources
          1. Volatile class
          2. The Interlocked class
        2. Canceling tasks
        3. Objective summary
        4. Objective review
      3. Objective 1.3: Implement program flow
        1. Working with Boolean expressions
        2. Making decisions
          1. The if statement
          2. The null-coalescing operator
          3. The conditional operator
          4. The switch statement
        3. Iterating across collections
          1. The for loop
          2. The while and do-while loop
          3. The foreach loop
          4. Jump statements
        4. Objective summary
        5. Objective review
      4. Objective 1.4: Create and implement events and callbacks
        1. Understanding delegates
        2. Using lambda expressions
        3. Using events
        4. Objective summary
        5. Objective review
      5. Objective 1.5: Implement exception handling
        1. Handling exceptions
        2. Throwing exceptions
        3. Creating custom exceptions
        4. Objective summary
        5. Objective review
      6. Chapter summary
      7. Answers
        1. Objective 1.1: Thought experiment
        2. Objective 1.1: Review
        3. Objective 1.2: Thought experiment
        4. Objective 1.2: Review
        5. Objective 1.3: Thought experiment
        6. Objective 1.3: Review
        7. Objective 1.4: Thought experiment
        8. Objective 1.4: Review
        9. Objective 1.5: Thought experiment
        10. Objective 1.5: Review
    6. 2. Create and use types
      1. Objective 2.1: Create types
        1. Choosing a type to create
          1. Types in C#
          2. Creating enums
          3. Value and reference types
        2. Giving your types some body
          1. Adding behaviors
          2. Named arguments, optional arguments, and overloading visibility
          3. Adding some data
          4. Using a blueprint
        3. Designing classes
        4. Using generic types
        5. Extending existing types
          1. Extension methods
          2. Overriding Methods
        6. Objective summary
        7. Objective review
      2. Objective 2.2: Consume types
        1. Boxing and unboxing
        2. Converting between different types
          1. Implicit conversions
          2. Explicit conversions
          3. User-defined conversions
          4. Conversions with a helper class
          5. Confirming that a conversion is valid
        3. Using dynamic types
          1. Office automation APIs
          2. DynamicObject and ExpandoObject
        4. Objective summary
        5. Objective review
      3. Objective 2.3: Enforce encapsulation
        1. Using access modifiers
          1. Hiding with private
          2. Protecting accessibility in inheritance hierarchies
          3. Keeping types internal to your assembly
        2. Using properties
        3. Using explicit interface implementations
        4. Objective summary
        5. Objective review
      4. Objective 2.4: Create and implement a class hierarchy
        1. Designing and implementing interfaces
          1. Using interfaces
        2. Creating and using base classes
          1. Changing behavior
          2. Abstract and sealed base classes
          3. Liskov substitution principle
        3. Implementing standard .NET Framework interfaces
          1. IComparable
          2. IEnumerable
          3. IDisposable
          4. IUnknown
        4. Objective summary
        5. Objective review
      5. Objective 2.5: Find, execute, and create types at runtime by using reflection
        1. Creating and using attributes
          1. Applying attributes
          2. Reading attributes
          3. Creating custom attributes
        2. Using reflection
        3. Using CodeDom and lambda expressions to generate code
          1. Lambda expressions
          2. Expression trees
        4. Objective summary
        5. Objective review
      6. Objective 2.6: Manage the object life cycle
        1. Understanding garbage collection
        2. Managing unmanaged resources
          1. Implementing IDisposable and a finalizer
          2. Weak references
        3. Objective summary
        4. Objective review
      7. Objective 2.7: Manipulate strings
        1. Using strings in the .NET Framework
        2. Manipulating strings
          1. StringBuilder
          2. StringWriter and StringReader
        3. Searching for strings
        4. Enumerating strings
        5. Formatting strings
          1. IFormatProvider and IFormattable
        6. Objective summary
        7. Objective review
      8. Chapter summary
      9. Answers
        1. Objective 2.1: Thought experiment
        2. Objective 2.1: Review
        3. Objective 2.2: Thought experiment
        4. Objective 2.2: Review
        5. Objective 2.3: Thought experiment
        6. Objective 2.3: Review
        7. Objective 2.4: Thought experiment
        8. Objective 2.4: Review
        9. Objective 2.5: Thought experiment
        10. Objective 2.5: Review
        11. Objective 2.6: Thought experiment
        12. Objective 2.6: Review
        13. Objective 2.7: Thought experiment
        14. Objective 2.7: Review
    7. 3. Debug applications and implement security
      1. Objective 3.1: Validate application input
        1. Why validating application input is important
        2. Managing data integrity
        3. Using Parse, TryParse, and Convert
        4. Using regular expressions
        5. Validating JSON and XML
        6. Objective summary
        7. Objective review
      2. Objective 3.2 Perform symmetric and asymmetric encryption
        1. Using symmetric and asymmetric encryption
        2. Working with encryption in the .NET Framework
        3. Using hashing
        4. Managing and creating certificates
        5. Using code access permissions
        6. Securing string data
        7. Objective summary
        8. Objective review
      3. Objective 3.3 Manage assemblies
        1. What is an assembly?
        2. Signing assemblies using a strong name
        3. Putting an assembly in the GAC
        4. Versioning assemblies
        5. Creating a WinMD assembly
        6. Objective summary
        7. Objective review
      4. Objective 3.4 Debug an application
        1. Build configurations
        2. Creating and managing compiler directives
        3. Managing program database files and symbols
        4. Objective summary
        5. Objective review
      5. Objective 3.5 Implement diagnostics in an application
        1. Logging and tracing
        2. Profiling your application
        3. Creating and monitoring performance counters
        4. Objective summary
        5. Objective review
      6. Chapter summary
      7. Answers
        1. Objective 3.1: Thought experiment
        2. Objective 3.1: Review
        3. Objective 3.2: Thought experiment
        4. Objective 3.2: Review
        5. Objective 3.3: Thought experiment
        6. Objective 3.3: Review
        7. Objective 3.4: Thought experiment
        8. Objective 3.4: Review
        9. Objective 3.5: Thought experiment
        10. Objective 3.5: Review
    8. 4. Implement data access
      1. Objective 4.1: Perform I/O operations
        1. Working with files
          1. Drives
          2. Directories
          3. Working with files
          4. Working with paths
        2. Working with streams
          1. The base Stream class
          2. Encoding and decoding
          3. Using different types of streams together
        3. The file system is not just for you
        4. Communicating over the network
          1. WebRequest and WebResponse
        5. Implementing asynchronous I/O operations
          1. Async/await
          2. Running I/O operations in parallel
        6. Objective summary
        7. Objective review
      2. Objective 4.2: Consume data
        1. Working with a database
          1. Providers
          2. Connecting to a database
          3. Reading data
          4. Updating data
          5. Using parameters
          6. Using transactions
          7. Using an Object Relational Mapper (ORM)
        2. Using web services
          1. Creating a WCF service
        3. Consuming XML
          1. XML in the .NET Framework
          2. XmlReader
          3. XmlWriter
          4. XmlDocument
        4. Consuming JSON
        5. Objective summary
        6. Objective review
      3. Objective 4.3: Query and manipulate data and objects by using LINQ
        1. Language features that make LINQ possible
          1. Implicitly typed variables
          2. Object initialization syntax
          3. Lambda expressions
          4. Extension methods
          5. Anonymous types
        2. Using LINQ queries
          1. Standard LINQ query operators
        3. How does LINQ work?
          1. Using LINQ to XML
            1. Querying XML
            2. Creating XML
            3. Updating XML
        4. Objective summary
        5. Objective review
      4. Objective 4.4: Serialize and deserialize data
        1. Using serialization and deserialization
          1. Using XmlSerializer
        2. Using binary serialization
        3. Using DataContract
        4. Using JSON serializer
        5. Objective summary
        6. Objective review
      5. Objective 4.5: Store data in and retrieve data from collections
        1. Using arrays
        2. Understanding generic versus nongeneric
        3. Using List
        4. Using Dictionary
        5. Using sets
        6. Using queues and stacks
        7. Choosing a collection
        8. Creating a custom collection
        9. Objective summary
        10. Objective review
      6. Chapter summary
      7. Answers
        1. Objective 4.1: Thought experiment
        2. Objective 4.1: Objective review
        3. Objective 4.2: Thought experiment
        4. Objective 4.2: Objective review
        5. Objective 4.3: Thought experiment
        6. Objective 4.3: Objective review
        7. Objective 4.4: Thought experiment
        8. Objective 4.4: Objective review
        9. Objective 4.5: Thought experiment
        10. Objective 4.5: Objective review
    9. A. About the author
    10. Index
    11. About the Author
    12. Copyright