.NET Framework Notes For Professionals. 100+ pages of professional hints and tricks
✍ Scribed by GoalKicker.com
- Publisher
- GoalKicker.com
- Year
- 2018
- Tongue
- English
- Leaves
- 192
- Category
- Library
No coin nor oath required. For personal study only.
✦ Table of Contents
Content list
About
Chapter 1: Getting started with .NET Framework
Section 1.1: Hello World in C#
Section 1.2: Hello World in F#
Section 1.3: Hello World in Visual Basic .NET
Section 1.4: Hello World in C++/CLI
Section 1.5: Hello World in IL
Section 1.6: Hello World in PowerShell
Section 1.7: Hello World in Nemerle
Section 1.8: Hello World in Python (IronPython)
Section 1.9: Hello World in Oxygene
Section 1.10: Hello World in Boo
Chapter 2: Strings
Section 2.1: Count characters
Section 2.2: Count distinct characters
Section 2.3: Convert string to/from another encoding
Section 2.4: Comparing strings
Section 2.5: Count occurrences of a character
Section 2.6: Split string into fixed length blocks
Section 2.7: Object.ToString() virtual method
Section 2.8: Immutability of strings
Chapter 3: DateTime parsing
Section 3.1: ParseExact
Section 3.2: TryParse
Section 3.3: TryParseExact
Chapter 4: Dictionaries
Section 4.1: Initializing a Dictionary with a Collection Initializer
Section 4.2: Adding to a Dictionary
Section 4.3: Getting a value from a dictionary
Section 4.4: Make a Dictionary
Section 4.5: IEnumerable to Dictionary (≥ .NET 3.5)
Section 4.6: Enumerating a Dictionary
Section 4.7: ConcurrentDictionary
Section 4.8: Dictionary to List
Section 4.9: Removing from a Dictionary
Section 4.10: ContainsKey(TKey)
Section 4.11: ConcurrentDictionary augmented with Lazy'1 reduces duplicated computation
Chapter 5: Collections
Section 5.1: Using collection initializers
Section 5.2: Stack
Section 5.3: Creating an initialized List with Custom Types
Section 5.4: Queue
Chapter 6: ReadOnlyCollections
Section 6.1: Creating a ReadOnlyCollection
Section 6.2: Updating a ReadOnlyCollection
Section 6.3: Warning: Elements in a ReadOnlyCollection are not inherently read-only
Chapter 7: Stack and Heap
Section 7.1: Value types in use
Section 7.2: Reference types in use
Chapter 8: LINQ
Section 8.1: SelectMany (flat map)
Section 8.2: Where (filter)
Section 8.3: Any
Section 8.4: GroupJoin
Section 8.5: Except
Section 8.6: Zip
Section 8.7: Aggregate (fold)
Section 8.8: ToLookup
Section 8.9: Intersect
Section 8.10: Concat
Section 8.11: All
Section 8.12: Sum
Section 8.13: SequenceEqual
Section 8.14: Min
Section 8.15: Distinct
Section 8.16: Count
Section 8.17: Cast
Section 8.18: Range
Section 8.19: ThenBy
Section 8.20: Repeat
Section 8.21: Empty
Section 8.22: Select (map)
Section 8.23: OrderBy
Section 8.24: OrderByDescending
Section 8.25: Contains
Section 8.26: First (find)
Section 8.27: Single
Section 8.28: Last
Section 8.29: LastOrDefault
Section 8.30: SingleOrDefault
Section 8.31: FirstOrDefault
Section 8.32: Skip
Section 8.33: Take
Section 8.34: Reverse
Section 8.35: OfType
Section 8.36: Max
Section 8.37: Average
Section 8.38: GroupBy
Section 8.39: ToDictionary
Section 8.40: Union
Section 8.41: ToArray
Section 8.42: ToList
Section 8.43: ElementAt
Section 8.44: ElementAtOrDefault
Section 8.45: SkipWhile
Section 8.46: TakeWhile
Section 8.47: DefaultIfEmpty
Section 8.48: Join
Section 8.49: Left Outer Join
Chapter 9: ForEach
Section 9.1: Extension method for IEnumerable
Section 9.2: Calling a method on an object in a list
Chapter 10: Reflection
Section 10.1: What is an Assembly?
Section 10.2: Compare two objects with reflection
Section 10.3: Creating Object and setting properties using reflection
Section 10.4: How to create an object of T using Reflection
Section 10.5: Getting an attribute of an enum with reflection (and caching it)
Chapter 11: Expression Trees
Section 11.1: building a predicate of form field == value
Section 11.2: Simple Expression Tree Generated by the C# Compiler
Section 11.3: Expression for retrieving a static field
Section 11.4: InvocationExpression Class
Chapter 12: Custom Types
Section 12.1: Struct Definition
Section 12.2: Class Definition
Chapter 13: Code Contracts
Section 13.1: Contracts for Interfaces
Section 13.2: Installing and Enabling Code Contracts
Section 13.3: Preconditions
Section 13.4: Postconditions
Chapter 14: Settings
Section 14.1: AppSettings from ConfigurationSettings in .NET 1.x
Section 14.2: Reading AppSettings from ConfigurationManager in .NET 2.0 and later
Section 14.3: Introduction to strongly-typed application and user settings support from Visual Studio
Section 14.4: Reading strongly-typed settings from custom section of configuration file
Chapter 15: Regular Expressions (System.Text.RegularExpressions)
Section 15.1: Check if pattern matches input
Section 15.2: Remove non alphanumeric characters from string
Section 15.3: Passing Options
Section 15.4: Match into groups
Section 15.5: Find all matches
Section 15.6: Simple match and replace
Chapter 16: File Input/Output
Section 16.1: C# File.Exists()
Section 16.2: VB WriteAllText
Section 16.3: VB StreamWriter
Section 16.4: C# StreamWriter
Section 16.5: C# WriteAllText()
Chapter 17: System.IO
Section 17.1: Reading a text file using StreamReader
Section 17.2: Serial Ports using System.IO.SerialPorts
Section 17.3: Reading/Writing Data Using System.IO.File
Chapter 18: System.IO.File class
Section 18.1: Delete a file
Section 18.2: Strip unwanted lines from a text file
Section 18.3: Convert text file encoding
Section 18.4: Enumerate files older than a specified amount
Section 18.5: Move a File from one location to another
Chapter 19: Reading and writing Zip files
Section 19.1: Listing ZIP contents
Section 19.2: Extracting files from ZIP files
Section 19.3: Updating a ZIP file
Chapter 20: Managed Extensibility Framework
Section 20.1: Connecting (Basic)
Section 20.2: Exporting a Type (Basic)
Section 20.3: Importing (Basic)
Chapter 21: SpeechRecognitionEngine class to recognize speech
Section 21.1: Asynchronously recognizing speech based on a restricted set of phrases
Section 21.2: Asynchronously recognizing speech for free text dictation
Chapter 22: System.Runtime.Caching.MemoryCache (ObjectCache)
Section 22.1: Adding Item to Cache (Set)
Section 22.2: System.Runtime.Caching.MemoryCache (ObjectCache)
Chapter 23: System.Reflection.Emit namespace
Section 23.1: Creating an assembly dynamically
Chapter 24: .NET Core
Section 24.1: Basic Console App
Chapter 25: ADO.NET
Section 25.1: Best Practices - Executing Sql Statements
Section 25.2: Executing SQL statements as a command
Section 25.3: Using common interfaces to abstract away vendor specific classes
Chapter 26: Dependency Injection
Section 26.1: How Dependency Injection Makes Unit Testing Easier
Section 26.2: Dependency Injection - Simple example
Section 26.3: Why We Use Dependency Injection Containers (IoC Containers)
Chapter 27: Platform Invoke
Section 27.1: Marshaling structs
Section 27.2: Marshaling unions
Section 27.3: Calling a Win32 dll function
Section 27.4: Using Windows API
Section 27.5: Marshalling arrays
Chapter 28: NuGet packaging system
Section 28.1: Uninstalling a package from one project in a solution
Section 28.2: Installing a specific version of a package
Section 28.3: Adding a package source feed (MyGet, Klondike, ect)
Section 28.4: Installing the NuGet Package Manager
Section 28.5: Managing Packages through the UI
Section 28.6: Managing Packages through the console
Section 28.7: Updating a package
Section 28.8: Uninstalling a package
Section 28.9: Uninstall a specific version of package
Chapter 29: Globalization in ASP.NET MVC using Smart internationalization for ASP.NET
Section 29.1: Basic configuration and setup
Chapter 30: System.Net.Mail
Section 30.1: MailMessage
Section 30.2: Mail with Attachment
Chapter 31: Using Progress
Section 31.1: Simple Progress reporting
Section 31.2: Using IProgress
Chapter 32: JSON Serialization
Section 32.1: Deserialization using System.Web.Script.Serialization.JavaScriptSerializer
Section 32.2: Serialization using Json.NET
Section 32.3: Serialization-Deserialization using Newtonsoft.Json
Section 32.4: Deserialization using Json.NET
Section 32.5: Dynamic binding
Section 32.6: Serialization using Json.NET with JsonSerializerSettings
Chapter 33: JSON in .NET with Newtonsoft.Json
Section 33.1: Deserialize an object from JSON text
Section 33.2: Serialize object into JSON
Chapter 34: XmlSerializer
Section 34.1: Formatting: Custom DateTime format
Section 34.2: Serialize object
Section 34.3: Deserialize object
Section 34.4: Behaviour: Map array name to property (XmlArray)
Section 34.5: Behaviour: Map Element name to Property
Section 34.6: Eciently building multiple serializers with derived types specified dynamically
Chapter 35: VB Forms
Section 35.1: Hello World in VB.NET Forms
Section 35.2: For Beginners
Section 35.3: Forms Timer
Chapter 36: JIT compiler
Section 36.1: IL compilation sample
Chapter 37: CLR
Section 37.1: An introduction to Common Language Runtime
Chapter 38: TPL Dataflow
Section 38.1: Asynchronous Producer Consumer With A Bounded BuerBlock
Section 38.2: Posting to an ActionBlock and waiting for completion
Section 38.3: Linking blocks to create a pipeline
Section 38.4: Synchronous Producer/Consumer with BuerBlock
Chapter 39: Threading
Section 39.1: Accessing form controls from other threads
Chapter 40: Process and Thread anity setting
Section 40.1: Get process anity mask
Section 40.2: Set process anity mask
Chapter 41: Parallel processing using .Net framework
Section 41.1: Parallel Extensions
Chapter 42: Task Parallel Library (TPL)
Section 42.1: Basic producer-consumer loop (BlockingCollection)
Section 42.2: Parallel.Invoke
Section 42.3: Task: Returning a value
Section 42.4: Parallel.ForEach
Section 42.5: Parallel.For
Section 42.6: Task: basic instantiation and Wait
Section 42.7: Task.WhenAll
Section 42.8: Flowing execution context with AsyncLocal
Section 42.9: Parallel.ForEach in VB.NET
Section 42.10: Task: WaitAll and variable capturing
Section 42.11: Task: WaitAny
Section 42.12: Task: handling exceptions (using Wait)
Section 42.13: Task: handling exceptions (without using Wait)
Section 42.14: Task: cancelling using CancellationToken
Section 42.15: Task.WhenAny
Chapter 43: Task Parallel Library (TPL) API Overviews
Section 43.1: Perform work in response to a button click and update the UI
Chapter 44: Synchronization Contexts
Section 44.1: Execute code on the UI thread after performing background work
Chapter 45: Memory management
Section 45.1: Use SafeHandle when wrapping unmanaged resources
Section 45.2: Unmanaged Resources
Chapter 46: Garbage Collection
Section 46.1: A basic example of (garbage) collection
Section 46.2: Live objects and dead objects - the basics
Section 46.3: Multiple dead objects
Section 46.4: Weak References
Section 46.5: Dispose() vs. finalizers
Section 46.6: Proper disposal and finalization of objects
Chapter 47: Exceptions
Section 47.1: Catching and rethrowing caught exceptions
Section 47.2: Using a finally block
Section 47.3: Exception Filters
Section 47.4: Rethrowing an exception within a catch block
Section 47.5: Throwing an exception from a dierent method while preserving its information
Section 47.6: Catching an exception
Chapter 48: System.Diagnostics
Section 48.1: Run shell commands
Section 48.2: Send Command to CMD and Receive Output
Section 48.3: Stopwatch
Chapter 49: Encryption / Cryptography
Section 49.1: Encryption and Decryption using Cryptography (AES)
Section 49.2: RijndaelManaged
Section 49.3: Encrypt and decrypt data using AES (in C#)
Section 49.4: Create a Key from a Password / Random SALT (in C#)
Chapter 50: Work with SHA1 in C#
Section 50.1: #Generate SHA1 checksum of a file
Section 50.2: #Generate hash of a text
Chapter 51: Unit testing
Section 51.1: Adding MSTest unit testing project to an existing solution
Section 51.2: Creating a sample test method
Chapter 52: Write to and read from StdErr stream
Section 52.1: Write to standard error output using Console
Section 52.2: Read from standard error of child process
Chapter 53: Upload file and POST data to webserver
Section 53.1: Upload file with WebRequest
Chapter 54: Networking
Section 54.1: Basic TCP chat (TcpListener, TcpClient, NetworkStream)
Section 54.2: Basic SNTP client (UdpClient)
Chapter 55: HTTP servers
Section 55.1: Basic read-only HTTP file server (ASP.NET Core)
Section 55.2: Basic read-only HTTP file server (HttpListener)
Chapter 56: HTTP clients
Section 56.1: Reading GET response as string using System.Net.HttpClient
Section 56.2: Basic HTTP downloader using System.Net.Http.HttpClient
Section 56.3: Reading GET response as string using System.Net.HttpWebRequest
Section 56.4: Reading GET response as string using System.Net.WebClient
Section 56.5: Sending a POST request with a string payload using System.Net.HttpWebRequest
Section 56.6: Sending a POST request with a string payload using System.Net.WebClient
Section 56.7: Sending a POST request with a string payload using System.Net.HttpClient
Chapter 57: Serial Ports
Section 57.1: Basic operation
Section 57.2: List available port names
Section 57.3: Asynchronous read
Section 57.4: Synchronous text echo service
Section 57.5: Asynchronous message receiver
Appendix A: Acronym Glossary
Section A.1: .Net Related Acronyms
Credits
You may also like
📜 SIMILAR VOLUMES