.NET Framework Notes for Professionals book

    Amazing collection of free programming books

    Collecting
    Free
    Amazing collection of free programming books

    The Notes for Professionals book is compiled from Stack Overflow Documentation, the content is written by the beautiful people at Stack Overflow. Text content is released under Creative Commons BY-SA. See credits at the end of this book whom contributed to the various chapters. Images may be copyright of their respective owners unless otherwise specified

    Book created for educational purposes and is not affiliated with group(s), company(s) nor Stack Overflow. All trademarks belong to their respective company owners

    https://goalkicker.com/

    Content

    1-1Content list
    1-2About
    1-3Chapter 1: Getting started with .NET Framework
    1-4Section 1.1: Hello World in C#
    1-5Section 1.2: Hello World in F#
    1-6Section 1.3: Hello World in Visual Basic .NET
    1-7Section 1.4: Hello World in C++/CLI
    1-8Section 1.5: Hello World in IL
    1-9Section 1.6: Hello World in PowerShell
    1-10Section 1.7: Hello World in Nemerle
    1-11Section 1.8: Hello World in Python (IronPython)
    1-12Section 1.9: Hello World in Oxygene
    1-13Section 1.10: Hello World in Boo
    1-14Chapter 2: Strings
    1-15Section 2.1: Count characters
    1-16Section 2.2: Count distinct characters
    1-17Section 2.3: Convert string to/from another encoding
    1-18Section 2.4: Comparing strings
    1-19Section 2.5: Count occurrences of a character
    1-20Section 2.6: Split string into fixed length blocks
    1-21Section 2.7: Object.ToString() virtual method
    1-22Section 2.8: Immutability of strings
    1-23Chapter 3: DateTime parsing
    1-24Section 3.1: ParseExact
    1-25Section 3.2: TryParse
    1-26Section 3.3: TryParseExact
    1-27Chapter 4: Dictionaries
    1-28Section 4.1: Initializing a Dictionary with a Collection Initializer
    1-29Section 4.2: Adding to a Dictionary
    1-30Section 4.3: Getting a value from a dictionary
    1-31Section 4.4: Make a Dictionary<string, T> with Case-Insensivitve keys
    1-32Section 4.5: IEnumerable to Dictionary (≥ .NET 3.5)
    1-33Section 4.6: Enumerating a Dictionary
    1-34Section 4.7: ConcurrentDictionary<TKey, TValue> (from .NET 4.0)
    1-35Section 4.8: Dictionary to List
    1-36Section 4.9: Removing from a Dictionary
    1-37Section 4.10: ContainsKey(TKey)
    1-38Section 4.11: ConcurrentDictionary augmented with Lazy'1 reduces duplicated computation
    1-39Chapter 5: Collections
    1-40Section 5.1: Using collection initializers
    1-41Section 5.2: Stack
    1-42Section 5.3: Creating an initialized List with Custom Types
    1-43Section 5.4: Queue
    1-44Chapter 6: ReadOnlyCollections
    1-45Section 6.1: Creating a ReadOnlyCollection
    1-46Section 6.2: Updating a ReadOnlyCollection
    1-47Section 6.3: Warning: Elements in a ReadOnlyCollection are not inherently read-only
    1-48Chapter 7: Stack and Heap
    1-49Section 7.1: Value types in use
    1-50Section 7.2: Reference types in use
    1-51Chapter 8: LINQ
    1-52Section 8.1: SelectMany (flat map)
    1-53Section 8.2: Where (filter)
    1-54Section 8.3: Any
    1-55Section 8.4: GroupJoin
    1-56Section 8.5: Except
    1-57Section 8.6: Zip
    1-58Section 8.7: Aggregate (fold)
    1-59Section 8.8: ToLookup
    1-60Section 8.9: Intersect
    1-61Section 8.10: Concat
    1-62Section 8.11: All
    1-63Section 8.12: Sum
    1-64Section 8.13: SequenceEqual
    1-65Section 8.14: Min
    1-66Section 8.15: Distinct
    1-67Section 8.16: Count
    1-68Section 8.17: Cast
    1-69Section 8.18: Range
    1-70Section 8.19: ThenBy
    1-71Section 8.20: Repeat
    1-72Section 8.21: Empty
    1-73Section 8.22: Select (map)
    1-74Section 8.23: OrderBy
    1-75Section 8.24: OrderByDescending
    1-76Section 8.25: Contains
    1-77Section 8.26: First (find)
    1-78Section 8.27: Single
    1-79Section 8.28: Last
    1-80Section 8.29: LastOrDefault
    1-81Section 8.30: SingleOrDefault
    1-82Section 8.31: FirstOrDefault
    1-83Section 8.32: Skip
    1-84Section 8.33: Take
    1-85Section 8.34: Reverse
    1-86Section 8.35: OfType
    1-87Section 8.36: Max
    1-88Section 8.37: Average
    1-89Section 8.38: GroupBy
    1-90Section 8.39: ToDictionary
    1-91Section 8.40: Union
    1-92Section 8.41: ToArray
    1-93Section 8.42: ToList
    1-94Section 8.43: ElementAt
    1-95Section 8.44: ElementAtOrDefault
    1-96Section 8.45: SkipWhile
    1-97Section 8.46: TakeWhile
    1-98Section 8.47: DefaultIfEmpty
    1-99Section 8.48: Join
    1-100Section 8.49: Left Outer Join
    1-101Chapter 9: ForEach
    1-102Section 9.1: Extension method for IEnumerable
    1-103Section 9.2: Calling a method on an object in a list
    1-104Chapter 10: Reflection
    1-105Section 10.1: What is an Assembly?
    1-106Section 10.2: Compare two objects with reflection
    1-107Section 10.3: Creating Object and setting properties using reflection
    1-108Section 10.4: How to create an object of T using Reflection
    1-109Section 10.5: Getting an attribute of an enum with reflection (and caching it)
    1-110Chapter 11: Expression Trees
    1-111Section 11.1: building a predicate of form field == value
    1-112Section 11.2: Simple Expression Tree Generated by the C# Compiler
    1-113Section 11.3: Expression for retrieving a static field
    1-114Section 11.4: InvocationExpression Class
    1-115Chapter 12: Custom Types
    1-116Section 12.1: Struct Definition
    1-117Section 12.2: Class Definition
    1-118Chapter 13: Code Contracts
    1-119Section 13.1: Contracts for Interfaces
    1-120Section 13.2: Installing and Enabling Code Contracts
    1-121Section 13.3: Preconditions
    1-122Section 13.4: Postconditions
    1-123Chapter 14: Settings
    1-124Section 14.1: AppSettings from ConfigurationSettings in .NET 1.x
    1-125Section 14.2: Reading AppSettings from ConfigurationManager in .NET 2.0 and later
    1-126Section 14.3: Introduction to strongly-typed application and user settings support from Visual Studio
    1-127Section 14.4: Reading strongly-typed settings from custom section of configuration file
    1-128Chapter 15: Regular Expressions (System.Text.RegularExpressions)
    1-129Section 15.1: Check if pattern matches input
    1-130Section 15.2: Remove non alphanumeric characters from string
    1-131Section 15.3: Passing Options
    1-132Section 15.4: Match into groups
    1-133Section 15.5: Find all matches
    1-134Section 15.6: Simple match and replace
    1-135Chapter 16: File Input/Output
    1-136Section 16.1: C# File.Exists()
    1-137Section 16.2: VB WriteAllText
    1-138Section 16.3: VB StreamWriter
    1-139Section 16.4: C# StreamWriter
    1-140Section 16.5: C# WriteAllText()
    1-141Chapter 17: System.IO
    1-142Section 17.1: Reading a text file using StreamReader
    1-143Section 17.2: Serial Ports using System.IO.SerialPorts
    1-144Section 17.3: Reading/Writing Data Using System.IO.File
    1-145Chapter 18: System.IO.File class
    1-146Section 18.1: Delete a file
    1-147Section 18.2: Strip unwanted lines from a text file
    1-148Section 18.3: Convert text file encoding
    1-149Section 18.4: Enumerate files older than a specified amount
    1-150Section 18.5: Move a File from one location to another
    1-151Chapter 19: Reading and writing Zip files
    1-152Section 19.1: Listing ZIP contents
    1-153Section 19.2: Extracting files from ZIP files
    1-154Section 19.3: Updating a ZIP file
    1-155Chapter 20: Managed Extensibility Framework
    1-156Section 20.1: Connecting (Basic)
    1-157Section 20.2: Exporting a Type (Basic)
    1-158Section 20.3: Importing (Basic)
    1-159Chapter 21: SpeechRecognitionEngine class to recognize speech
    1-160Section 21.1: Asynchronously recognizing speech based on a restricted set of phrases
    1-161Section 21.2: Asynchronously recognizing speech for free text dictation
    1-162Chapter 22: System.Runtime.Caching.MemoryCache (ObjectCache)
    1-163Section 22.1: Adding Item to Cache (Set)
    1-164Section 22.2: System.Runtime.Caching.MemoryCache (ObjectCache)
    1-165Chapter 23: System.Reflection.Emit namespace
    1-166Section 23.1: Creating an assembly dynamically
    1-167Chapter 24: .NET Core
    1-168Section 24.1: Basic Console App
    1-169Chapter 25: ADO.NET
    1-170Section 25.1: Best Practices - Executing Sql Statements
    1-171Section 25.2: Executing SQL statements as a command
    1-172Section 25.3: Using common interfaces to abstract away vendor specific classes
    1-173Chapter 26: Dependency Injection
    1-174Section 26.1: How Dependency Injection Makes Unit Testing Easier
    1-175Section 26.2: Dependency Injection - Simple example
    1-176Section 26.3: Why We Use Dependency Injection Containers (IoC Containers)
    1-177Chapter 27: Platform Invoke
    1-178Section 27.1: Marshaling structs
    1-179Section 27.2: Marshaling unions
    1-180Section 27.3: Calling a Win32 dll function
    1-181Section 27.4: Using Windows API
    1-182Section 27.5: Marshalling arrays
    1-183Chapter 28: NuGet packaging system
    1-184Section 28.1: Uninstalling a package from one project in a solution
    1-185Section 28.2: Installing a specific version of a package
    1-186Section 28.3: Adding a package source feed (MyGet, Klondike, ect)
    1-187Section 28.4: Installing the NuGet Package Manager
    1-188Section 28.5: Managing Packages through the UI
    1-189Section 28.6: Managing Packages through the console
    1-190Section 28.7: Updating a package
    1-191Section 28.8: Uninstalling a package
    1-192Section 28.9: Uninstall a specific version of package
    1-193Chapter 29: Globalization in ASP.NET MVC using Smart internationalization for ASP.NET
    1-194Section 29.1: Basic configuration and setup
    1-195Chapter 30: System.Net.Mail
    1-196Section 30.1: MailMessage
    1-197Section 30.2: Mail with Attachment
    1-198Chapter 31: Using Progress<T> and IProgress<T>
    1-199Section 31.1: Simple Progress reporting
    1-200Section 31.2: Using IProgress<T>
    1-201Chapter 32: JSON Serialization
    1-202Section 32.1: Deserialization using System.Web.Script.Serialization.JavaScriptSerializer
    1-203Section 32.2: Serialization using Json.NET
    1-204Section 32.3: Serialization-Deserialization using Newtonsoft.Json
    1-205Section 32.4: Deserialization using Json.NET
    1-206Section 32.5: Dynamic binding
    1-207Section 32.6: Serialization using Json.NET with JsonSerializerSettings
    1-208Chapter 33: JSON in .NET with Newtonsoft.Json
    1-209Section 33.1: Deserialize an object from JSON text
    1-210Section 33.2: Serialize object into JSON
    1-211Chapter 34: XmlSerializer
    1-212Section 34.1: Formatting: Custom DateTime format
    1-213Section 34.2: Serialize object
    1-214Section 34.3: Deserialize object
    1-215Section 34.4: Behaviour: Map array name to property (XmlArray)
    1-216Section 34.5: Behaviour: Map Element name to Property
    1-217Section 34.6: Eciently building multiple serializers with derived types specified dynamically
    1-218Chapter 35: VB Forms
    1-219Section 35.1: Hello World in VB.NET Forms
    1-220Section 35.2: For Beginners
    1-221Section 35.3: Forms Timer
    1-222Chapter 36: JIT compiler
    1-223Section 36.1: IL compilation sample
    1-224Chapter 37: CLR
    1-225Section 37.1: An introduction to Common Language Runtime
    1-226Chapter 38: TPL Dataflow
    1-227Section 38.1: Asynchronous Producer Consumer With A Bounded BuerBlock
    1-228Section 38.2: Posting to an ActionBlock and waiting for completion
    1-229Section 38.3: Linking blocks to create a pipeline
    1-230Section 38.4: Synchronous Producer/Consumer with BuerBlock<T>
    1-231Chapter 39: Threading
    1-232Section 39.1: Accessing form controls from other threads
    1-233Chapter 40: Process and Thread anity setting
    1-234Section 40.1: Get process anity mask
    1-235Section 40.2: Set process anity mask
    1-236Chapter 41: Parallel processing using .Net framework
    1-237Section 41.1: Parallel Extensions
    1-238Chapter 42: Task Parallel Library (TPL)
    1-239Section 42.1: Basic producer-consumer loop (BlockingCollection)
    1-240Section 42.2: Parallel.Invoke
    1-241Section 42.3: Task: Returning a value
    1-242Section 42.4: Parallel.ForEach
    1-243Section 42.5: Parallel.For
    1-244Section 42.6: Task: basic instantiation and Wait
    1-245Section 42.7: Task.WhenAll
    1-246Section 42.8: Flowing execution context with AsyncLocal
    1-247Section 42.9: Parallel.ForEach in VB.NET
    1-248Section 42.10: Task: WaitAll and variable capturing
    1-249Section 42.11: Task: WaitAny
    1-250Section 42.12: Task: handling exceptions (using Wait)
    1-251Section 42.13: Task: handling exceptions (without using Wait)
    1-252Section 42.14: Task: cancelling using CancellationToken
    1-253Section 42.15: Task.WhenAny
    1-254Chapter 43: Task Parallel Library (TPL) API Overviews
    1-255Section 43.1: Perform work in response to a button click and update the UI
    1-256Chapter 44: Synchronization Contexts
    1-257Section 44.1: Execute code on the UI thread after performing background work
    1-258Chapter 45: Memory management
    1-259Section 45.1: Use SafeHandle when wrapping unmanaged resources
    1-260Section 45.2: Unmanaged Resources
    1-261Chapter 46: Garbage Collection
    1-262Section 46.1: A basic example of (garbage) collection
    1-263Section 46.2: Live objects and dead objects - the basics
    1-264Section 46.3: Multiple dead objects
    1-265Section 46.4: Weak References
    1-266Section 46.5: Dispose() vs. finalizers
    1-267Section 46.6: Proper disposal and finalization of objects
    1-268Chapter 47: Exceptions
    1-269Section 47.1: Catching and rethrowing caught exceptions
    1-270Section 47.2: Using a finally block
    1-271Section 47.3: Exception Filters
    1-272Section 47.4: Rethrowing an exception within a catch block
    1-273Section 47.5: Throwing an exception from a dierent method while preserving its information
    1-274Section 47.6: Catching an exception
    1-275Chapter 48: System.Diagnostics
    1-276Section 48.1: Run shell commands
    1-277Section 48.2: Send Command to CMD and Receive Output
    1-278Section 48.3: Stopwatch
    1-279Chapter 49: Encryption / Cryptography
    1-280Section 49.1: Encryption and Decryption using Cryptography (AES)
    1-281Section 49.2: RijndaelManaged
    1-282Section 49.3: Encrypt and decrypt data using AES (in C#)
    1-283Section 49.4: Create a Key from a Password / Random SALT (in C#)
    1-284Chapter 50: Work with SHA1 in C#
    1-285Section 50.1: #Generate SHA1 checksum of a file
    1-286Section 50.2: #Generate hash of a text
    1-287Chapter 51: Unit testing
    1-288Section 51.1: Adding MSTest unit testing project to an existing solution
    1-289Section 51.2: Creating a sample test method
    1-290Chapter 52: Write to and read from StdErr stream
    1-291Section 52.1: Write to standard error output using Console
    1-292Section 52.2: Read from standard error of child process
    1-293Chapter 53: Upload file and POST data to webserver
    1-294Section 53.1: Upload file with WebRequest
    1-295Chapter 54: Networking
    1-296Section 54.1: Basic TCP chat (TcpListener, TcpClient, NetworkStream)
    1-297Section 54.2: Basic SNTP client (UdpClient)
    1-298Chapter 55: HTTP servers
    1-299Section 55.1: Basic read-only HTTP file server (ASP.NET Core)
    1-300Section 55.2: Basic read-only HTTP file server (HttpListener)
    1-301Chapter 56: HTTP clients
    1-302Section 56.1: Reading GET response as string using System.Net.HttpClient
    1-303Section 56.2: Basic HTTP downloader using System.Net.Http.HttpClient
    1-304Section 56.3: Reading GET response as string using System.Net.HttpWebRequest
    1-305Section 56.4: Reading GET response as string using System.Net.WebClient
    1-306Section 56.5: Sending a POST request with a string payload using System.Net.HttpWebRequest
    1-307Section 56.6: Sending a POST request with a string payload using System.Net.WebClient
    1-308Section 56.7: Sending a POST request with a string payload using System.Net.HttpClient
    1-309Chapter 57: Serial Ports
    1-310Section 57.1: Basic operation
    1-311Section 57.2: List available port names
    1-312Section 57.3: Asynchronous read
    1-313Section 57.4: Synchronous text echo service
    1-314Section 57.5: Asynchronous message receiver
    1-315Appendix A: Acronym Glossary
    1-316Section A.1: .Net Related Acronyms
    1-317Credits
    1-318You may also like

    FAQ

    您可以透過手機、平板或是電腦登入 HiSKIO 平台,在【我的學習】>【我的書籍】頁面,選擇想看的電子書。

    Recommendations

    Reviews

    | Collecting

    Sales Plans