ورود به حساب

نام کاربری گذرواژه

گذرواژه را فراموش کردید؟ کلیک کنید

حساب کاربری ندارید؟ ساخت حساب

ساخت حساب کاربری

نام نام کاربری ایمیل شماره موبایل گذرواژه

برای ارتباط با ما می توانید از طریق شماره موبایل زیر از طریق تماس و پیامک با ما در ارتباط باشید


09117307688
09117179751

در صورت عدم پاسخ گویی از طریق پیامک با پشتیبان در ارتباط باشید

دسترسی نامحدود

برای کاربرانی که ثبت نام کرده اند

ضمانت بازگشت وجه

درصورت عدم همخوانی توضیحات با کتاب

پشتیبانی

از ساعت 7 صبح تا 10 شب

دانلود کتاب C# 8.0 in a Nutshell

دانلود کتاب C# 8.0 به طور خلاصه

C# 8.0 in a Nutshell

مشخصات کتاب

C# 8.0 in a Nutshell

ویرایش:  
نویسندگان: ,   
سری:  
ISBN (شابک) : 9781492051138 
ناشر: O'Reilly Media, Inc. 
سال نشر: 2020 
تعداد صفحات: 0 
زبان: English 
فرمت فایل : EPUB (درصورت درخواست کاربر به PDF، EPUB یا AZW3 تبدیل می شود) 
حجم فایل: 4 مگابایت 

قیمت کتاب (تومان) : 32,000



ثبت امتیاز به این کتاب

میانگین امتیاز به این کتاب :
       تعداد امتیاز دهندگان : 9


در صورت تبدیل فایل کتاب C# 8.0 in a Nutshell به فرمت های PDF، EPUB، AZW3، MOBI و یا DJVU می توانید به پشتیبان اطلاع دهید تا فایل مورد نظر را تبدیل نمایند.

توجه داشته باشید کتاب C# 8.0 به طور خلاصه نسخه زبان اصلی می باشد و کتاب ترجمه شده به فارسی نمی باشد. وبسایت اینترنشنال لایبرری ارائه دهنده کتاب های زبان اصلی می باشد و هیچ گونه کتاب ترجمه شده یا نوشته شده به فارسی را ارائه نمی دهد.


توضیحاتی در مورد کتاب C# 8.0 به طور خلاصه

سی شارپ از زمان نمایش آن در سال 2000 به زبانی با انعطاف پذیری و گستردگی غیرمعمول تبدیل شده است، اما این رشد مداوم به این معنی است که چیزهای بیشتری برای یادگیری وجود دارد. بر اساس سنت راهنماهای خلاصه O'Reilly، C# 8.0 in a Hutshell به سادگی بهترین مرجع تک جلدی به زبان C# است که امروزه در دسترس است. هنگامی که در مورد C# 8.0 یا .NET Core سؤالی دارید، این راهنمای پرفروش پاسخ های مورد نیاز شما را دارد. این نسخه کاملاً به روز شده که بر اساس مفاهیم و موارد استفاده سازماندهی شده است، نقشه مختصری از دانش C# و NET را در اختیار برنامه نویسان متوسط ​​و پیشرفته قرار می دهد. غواصی کنید و کشف کنید که چرا این راهنمای خلاصه به عنوان مرجع قطعی C# در نظر گرفته می شود.


توضیحاتی درمورد کتاب به خارجی

C# has become a language of unusual flexibility and breadth since its premiere in 2000, but this continual growth means there's much more to learn. In the tradition of O'Reilly's Nutshell guides, C# 8.0 in a Nutshell is simply the best one-volume reference to the C# language available today. When you have questions about C# 8.0 or .NET Core, this bestselling guide has the answers you need. Organized around concepts and use cases, this thoroughly updated edition provides intermediate and advanced programmers with a concise map of C# and .NET knowledge. Dive in and discover why this Nutshell guide is considered the definitive reference on C#.



فهرست مطالب

Copyright
Table of Contents
Preface
	Intended Audience
	How This Book Is Organized
	What You Need to Use This Book
	Conventions Used in This Book
	Using Code Examples
	O’Reilly Online Learning
	We’d Like to Hear from You
	Acknowledgments
		Joseph Albahari
		Eric Johannsen
Chapter 1. Introducing C# and .NET Core
	Object Orientation
	Type Safety
	Memory Management
	Platform Support
	C# and the Common Language Runtime
	Frameworks and Base Class Libraries
	Legacy and Niche Frameworks
	Windows Runtime
	A Brief History of C#
		What’s New in C# 8.0
		What’s New in C# 7.x
		What’s New in C# 6.0
		What’s New in C# 5.0
		What’s New in C# 4.0
		What’s New in C# 3.0
		What’s New in C# 2.0
Chapter 2. C# Language Basics
	A First C# Program
		Compilation
	Syntax
		Identifiers and Keywords
		Literals, Punctuators, and Operators
		Comments
	Type Basics
		Predefined Type Examples
		Custom Type Examples
		Conversions
		Value Types versus Reference Types
		Predefined Type Taxonomy
	Numeric Types
		Numeric Literals
		Numeric Conversions
		Arithmetic Operators
		Increment and Decrement Operators
		Specialized Operations on Integral Types
		8- and 16-Bit Integral Types
		Special Float and Double Values
		double Versus decimal
		Real-Number Rounding Errors
	Boolean Type and Operators
		bool Conversions
		Equality and Comparison Operators
		Conditional Operators
	Strings and Characters
		char Conversions
		String Type
	Arrays
		Default Element Initialization
		Indices and Ranges (C# 8)
		Multidimensional Arrays
		Simplified Array Initialization Expressions
		Bounds Checking
	Variables and Parameters
		The Stack and the Heap
		Definite Assignment
		Default Values
		Parameters
		Ref Locals
		Ref Returns
		var—Implicitly Typed Local Variables
	Expressions and Operators
		Primary Expressions
		Void Expressions
		Assignment Expressions
		Operator Precedence and Associativity
		Operator Table
	Null Operators
		Null-Coalescing Operator
		Null-Coalescing Assignment Operator (C# 8)
		Null-Conditional Operator
	Statements
		Declaration Statements
		Expression Statements
		Selection Statements
		Iteration Statements
		Jump Statements
		Miscellaneous Statements
	Namespaces
		The using Directive
		using static
		Rules Within a Namespace
		Aliasing Types and Namespaces
		Advanced Namespace Features
Chapter 3. Creating Types in C#
	Classes
		Fields
		Constants
		Methods
		Instance Constructors
		Deconstructors
		Object Initializers
		The this Reference
		Properties
		Indexers
		Static Constructors
		Static Classes
		Finalizers
		Partial Types and Methods
		The nameof operator
	Inheritance
		Polymorphism
		Casting and Reference Conversions
		Virtual Function Members
		Abstract Classes and Abstract Members
		Hiding Inherited Members
		Sealing Functions and Classes
		The base Keyword
		Constructors and Inheritance
		Overloading and Resolution
	The object Type
		Boxing and Unboxing
		Static and Runtime Type Checking
		The GetType Method and typeof Operator
		The ToString Method
		Object Member Listing
	Structs
		Struct Construction Semantics
		Read-only Structs and Functions
		Ref Structs
	Access Modifiers
		Examples
		Friend Assemblies
		Accessibility Capping
		Restrictions on Access Modifiers
	Interfaces
		Extending an Interface
		Explicit Interface Implementation
		Implementing Interface Members Virtually
		Reimplementing an Interface in a Subclass
		Interfaces and Boxing
		Default Interface Members (C# 8)
	Enums
		Enum Conversions
		Flags Enums
		Enum Operators
		Type-Safety Issues
	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
Chapter 4. Advanced C#
	Delegates
		Writing Plug-in Methods with Delegates
		Multicast Delegates
		Instance Versus Static Method Targets
		Generic Delegate Types
		The Func and Action Delegates
		Delegates Versus Interfaces
		Delegate Compatibility
	Events
		Standard Event Pattern
		Event Accessors
		Event Modifiers
	Lambda Expressions
		Explicitly Specifying Lambda Parameter Types
		Capturing Outer Variables
		Lambda Expressions Versus Local Methods
	Anonymous Methods
	try Statements and Exceptions
		The catch Clause
		The finally Block
		Throwing Exceptions
		Key Properties of System.Exception
		Common Exception Types
		The Try XXX Method Pattern
		Alternatives to Exceptions
	Enumeration and Iterators
		Enumeration
		Collection Initializers
		Iterators
		Iterator Semantics
		Composing Sequences
	Nullable Value Types
		Nullable Struct
		Implicit and Explicit Nullable Conversions
		Boxing and Unboxing Nullable Values
		Operator Lifting
		bool? with & and | Operators
		Nullable Value Types & Null Operators
		Scenarios for Nullable Value Types
		Alternatives to Nullable Value Types
	Nullable Reference Types (C# 8)
		The Null-Forgiving Operator
		Separating the Annotation and Warning Contexts
		Treating Nullable Warnings as Errors
	Extension Methods
		Extension Method Chaining
		Ambiguity and Resolution
	Anonymous Types
	Tuples
		Naming Tuple Elements
		ValueTuple.Create
		Deconstructing Tuples
		Equality Comparison
		The System.Tuple classes
	Patterns
		Property Patterns (C# 8)
		Tuple Patterns (C# 8)
		Positional Patterns (C# 8)
		var Pattern
		Constant Pattern
	Attributes
		Attribute Classes
		Named and Positional Attribute Parameters
		Applying Attributes to Assemblies and Backing Fields
		Specifying Multiple Attributes
	Caller Info Attributes
	Dynamic Binding
		Static Binding versus Dynamic Binding
		Custom Binding
		Language Binding
		RuntimeBinderException
		Runtime Representation of dynamic
		Dynamic Conversions
		var Versus dynamic
		Dynamic Expressions
		Dynamic Calls Without Dynamic Receivers
		Static Types in Dynamic Expressions
		Uncallable Functions
	Operator Overloading
		Operator Functions
		Overloading Equality and Comparison Operators
		Custom Implicit and Explicit Conversions
		Overloading true and false
	Unsafe Code and Pointers
		Pointer Basics
		Unsafe Code
		The fixed Statement
		The Pointer-to-Member Operator
		The stackalloc Keyword
		Fixed-Size Buffers
		void*
		Pointers to Unmanaged Code
	Preprocessor Directives
		Conditional Attributes
		pragma warning
	XML Documentation
		Standard XML Documentation Tags
		User-Defined Tags
		Type or Member Cross-References
Chapter 5. Framework Overview
	.NET Standard
		.NET Standard 2.0
		.NET Standard 2.1
		Older .NET Standards
		.NET Framework and .NET Core Compatibility
	Framework 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 I/O
		Networking
		Serialization
		Assemblies, Reflection, and Attributes
		Dynamic Programming
		Cryptography
		Advanced Threading
		Parallel Programming
		Span and Memory
		Native and COM Interoperability
		Regular Expressions
		The Roslyn Compiler
	Application Frameworks
		ASP.NET Core
		Windows Desktop
		UWP
		Xamarin
Chapter 6. Framework Fundamentals
	String and Text Handling
		char
		string
		Comparing Strings
		StringBuilder
		Text Encodings and Unicode
	Dates and Times
		TimeSpan
		DateTime and DateTimeOffset
	Dates and Time Zones
		DateTime and Time Zones
		DateTimeOffset and Time Zones
		TimeZone and TimeZoneInfo
		Daylight Saving Time and DateTime
	Formatting and Parsing
		ToString and Parse
		Format Providers
	Standard Format Strings and Parsing Flags
		Numeric Format Strings
		NumberStyles
		Date/Time Format Strings
		DateTimeStyles
		Enum Format Strings
	Other Conversion Mechanisms
		Convert
		XmlConvert
		Type Converters
		BitConverter
	Globalization
		Globalization Checklist
		Testing
	Working with Numbers
		Conversions
		Math
		BigInteger
		Complex
		Random
	Enums
		Enum Conversions
		Enumerating Enum Values
		How Enums Work
	The Guid Struct
	Equality Comparison
		Value Versus Referential Equality
		Standard Equality Protocols
		Equality and Custom Types
	Order Comparison
		IComparable
		< and >
		Implementing the IComparable Interfaces
	Utility Classes
		Console
		Environment
		Process
		AppContext
Chapter 7. Collections
	Enumeration
		IEnumerable and IEnumerator
		IEnumerable and IEnumerator
		Implementing the Enumeration Interfaces
	The ICollection and IList Interfaces
		ICollection and ICollection
		IList and IList
		IReadOnlyCollection and IReadOnlyList
	The Array Class
		Construction and Indexing
		Enumeration
		Length and Rank
		Searching
		Sorting
		Reversing Elements
		Copying
		Converting and Resizing
	Lists, Queues, Stacks, and Sets
		List and ArrayList
		LinkedList
		Queue and Queue
		Stack and Stack
		BitArray
		HashSet and SortedSet
	Dictionaries
		IDictionary
		IDictionary
		Dictionary and Hashtable
		OrderedDictionary
		ListDictionary and HybridDictionary
		Sorted Dictionaries
	Customizable Collections and Proxies
		Collection and CollectionBase
		KeyedCollection and DictionaryBase
		ReadOnlyCollection
	Immutable Collections
		Creating Immutable Collections
		Manipulating Immutable Collections
		Builders
		Immutable Collections and Performance
	Plugging in Equality and Order
		IEqualityComparer and EqualityComparer
		IComparer and Comparer
		StringComparer
		IStructuralEquatable and IStructuralComparable
Chapter 8. LINQ Queries
	Getting Started
	Fluent Syntax
		Chaining Query Operators
		Composing Lambda Expressions
		Natural Ordering
		Other Operators
	Query Expressions
		Range Variables
		Query Syntax Versus SQL Syntax
		Query Syntax Versus Fluent Syntax
		Mixed-Syntax Queries
	Deferred Execution
		Reevaluation
		Captured Variables
		How Deferred Execution Works
		Chaining Decorators
		How Queries Are Executed
	Subqueries
		Subqueries and Deferred Execution
	Composition Strategies
		Progressive Query Building
		The into Keyword
		Wrapping Queries
	Projection Strategies
		Object Initializers
		Anonymous Types
		The let Keyword
	Interpreted Queries
		How Interpreted Queries Work
		Combining Interpreted and Local Queries
		AsEnumerable
	EF Core
		EF Core Entity Classes
		DbContext
		Object Tracking
		Change Tracking
		Navigation Properties
		Deferred Execution
	Building Query Expressions
		Delegates Versus Expression Trees
		Expression Trees
Chapter 9. LINQ Operators
	Overview
		Sequence→Sequence
		Sequence→Element or Value
		Void→Sequence
	Filtering
		Where
		Take and Skip
		TakeWhile and SkipWhile
		Distinct
	Projecting
		Select
		SelectMany
	Joining
		Join and GroupJoin
		The Zip Operator
	Ordering
		OrderBy, OrderByDescending, ThenBy, and ThenByDescending
	Grouping
		GroupBy
	Set Operators
		Concat and Union
		Intersect and Except
	Conversion Methods
		OfType and Cast
		ToArray, ToList, ToDictionary, ToHashSet, and ToLookup
		AsEnumerable and AsQueryable
	Element Operators
		First, Last, and Single
		ElementAt
		DefaultIfEmpty
	Aggregation Methods
		Count and LongCount
		Min and Max
		Sum and Average
		Aggregate
	Quantifiers
		Contains and Any
		All and SequenceEqual
	Generation Methods
		Empty
		Range and Repeat
Chapter 10. LINQ to XML
	Architectural Overview
		What Is a DOM?
		The LINQ to XML DOM
	X-DOM Overview
		Loading and Parsing
		Saving and Serializing
	Instantiating an X-DOM
		Functional Construction
		Specifying Content
		Automatic Deep Cloning
	Navigating and Querying
		Child Node Navigation
		Parent Navigation
		Peer Node Navigation
		Attribute Navigation
	Updating an X-DOM
		Simple Value Updates
		Updating Child Nodes and Attributes
		Updating Through the Parent
	Working with Values
		Setting Values
		Getting Values
		Values and Mixed Content Nodes
		Automatic XText Concatenation
	Documents and Declarations
		XDocument
		XML Declarations
	Names and Namespaces
		Namespaces in XML
		Specifying Namespaces in the X-DOM
		The X-DOM and Default Namespaces
		Prefixes
	Annotations
	Projecting into an X-DOM
		Eliminating Empty Elements
		Streaming a Projection
Chapter 11. Other XML and JSON Technologies
	XmlReader
		Reading Nodes
		Reading Elements
		Reading Attributes
		Namespaces and Prefixes
	XmlWriter
		Writing Attributes
		Writing Other Node Types
		Namespaces and Prefixes
	Patterns for Using XmlReader/XmlWriter
		Working with Hierarchical Data
		Mixing XmlReader/XmlWriter with an X-DOM
	Working with JSON
		Utf8JsonReader
		Utf8JsonWriter
		JsonDocument
Chapter 12. Disposal and Garbage Collection
	IDisposable, Dispose, and Close
		Standard Disposal Semantics
		When to Dispose
		Clearing Fields in Disposal
		Anonymous Disposal
	Automatic Garbage Collection
		Roots
		Garbage Collection and WinRT
	Finalizers
		Calling Dispose from a Finalizer
		Resurrection
	How the GC Works
		Optimization Techniques
		Forcing Garbage Collection
		Tuning Garbage Collection at Runtime
		Memory Pressure
		Array Pooling
	Managed Memory Leaks
		Timers
		Diagnosing Memory Leaks
	Weak References
		Weak References and Caching
		Weak References and Events
Chapter 13. Diagnostics
	Conditional Compilation
		Conditional Compilation Versus Static Variable Flags
		The Conditional Attribute
	Debug and Trace Classes
		Fail and Assert
		TraceListener
		Flushing and Closing Listeners
	Debugger Integration
		Attaching and Breaking
		Debugger Attributes
	Processes and Process Threads
		Examining Running Processes
		Examining Threads in a Process
	StackTrace and StackFrame
	Windows Event Logs
		Writing to the Event Log
		Reading the Event Log
		Monitoring the Event Log
	Performance Counters
		Enumerating the Available Counters
		Reading Performance Counter Data
		Creating Counters and Writing Performance Data
	The Stopwatch Class
	Cross-Platform Diagnostics Tools
		dotnet-counters
		dotnet-trace
		dotnet-dump
Chapter 14. Concurrency and Asynchrony
	Introduction
	Threading
		Creating a Thread
		Join and Sleep
		Blocking
		Local versus Shared State
		Locking and Thread Safety
		Passing Data to a Thread
		Exception Handling
		Foreground versus Background Threads
		Thread Priority
		Signaling
		Threading in Rich Client Applications
		Synchronization Contexts
		The Thread Pool
	Tasks
		Starting a Task
		Returning values
		Exceptions
		Continuations
		TaskCompletionSource
		Task.Delay
	Principles of Asynchrony
		Synchronous versus Asynchronous Operations
		What Is Asynchronous Programming?
		Asynchronous Programming and Continuations
		Why Language Support Is Important
	Asynchronous Functions in C#
		Awaiting
		Writing Asynchronous Functions
		Asynchronous Lambda Expressions
		Asynchronous Streams (C# 8)
		Asynchronous Methods in WinRT
		Asynchrony and Synchronization Contexts
		Optimizations
	Asynchronous Patterns
		Cancellation
		Progress Reporting
		The Task-Based Asynchronous Pattern
		Task Combinators
		Asynchronous Locking
	Obsolete Patterns
		Asynchronous Programming Model
		Event-Based Asynchronous Pattern
		BackgroundWorker
Chapter 15. Streams and I/O
	Stream Architecture
	Using Streams
		Reading and Writing
		Seeking
		Closing and Flushing
		Timeouts
		Thread Safety
		Backing Store Streams
		FileStream
		MemoryStream
		PipeStream
		BufferedStream
	Stream Adapters
		Text Adapters
		Binary Adapters
		Closing and Disposing Stream Adapters
	Compression Streams
		Compressing in Memory
		Unix gzip File Compression
	Working with ZIP Files
	File and Directory Operations
		The File Class
		The Directory Class
		FileInfo and DirectoryInfo
		Path
		Special Folders
		Querying Volume Information
		Catching Filesystem Events
	File I/O in UWP
		Working with Directories
		Working with Files
		Obtaining Directories and Files
	OS Security
		Running in a Standard User Account
		Administrative Elevation and Virtualization
	Memory-Mapped Files
		Memory-Mapped Files and Random File I/O
		Memory-Mapped Files and Shared Memory (Windows)
		Cross-Platform Interprocess Shared Memory
		Working with View Accessors
Chapter 16. Networking
	Network Architecture
	Addresses and Ports
	URIs
	Client-Side Classes
		WebClient
		WebRequest and WebResponse
		HttpClient
		Proxies
		Authentication
		Exception Handling
	Working with HTTP
		Headers
		Query Strings
		Uploading Form Data
		Cookies
	Writing an HTTP Server
	Using FTP
	Using DNS
	Sending Mail with SmtpClient
	Using TCP
		Concurrency with TCP
	Receiving POP3 Mail with TCP
	TCP in UWP
Chapter 17. Serialization
	Serialization Concepts
		Serialization Engines
		Formatters
		Explicit Versus Implicit Serialization
	The XML Serializer
		Getting Started with Attribute-Based Serialization
		Subclasses and Child Objects
		Serializing Collections
		IXmlSerializable
	The JSON Serializer
		Getting Started
		Serializing Child Objects
		Serializing Collections
		Controlling Serialization with Attributes
		Customizing Data Conversion
		JSON Serialization Options
	The Binary Serializer
		Getting Started
	Binary Serialization Attributes
		[NonSerialized]
		[OnDeserializing]
		[OnDeserialized]
		[OnSerializing] and [OnSerialized]
		[OptionalField] and Versioning
	Binary Serialization with ISerializable
		Subclassing Serializable Classes
Chapter 18. Assemblies
	What’s in an Assembly
		The Assembly Manifest
		The Application Manifest (Windows)
		Modules
		The Assembly Class
	Strong Names and Assembly Signing
		How to Strongly Name an Assembly
	Assembly Names
		Fully Qualified Names
		The AssemblyName Class
		Assembly Informational and File Versions
	Authenticode Signing
		How to Sign with Authenticode
	Resources and Satellite Assemblies
		Directly Embedding Resources
		.resources Files
		.resx Files
		Satellite Assemblies
		Cultures and Subcultures
	Loading, Resolving, and Isolating Assemblies
		Assembly Load Contexts
		The Default ALC
		The Current ALC
		Assembly.Load and Contextual ALCs
		Loading and Resolving Unmanaged Libraries
		AssemblyDependencyResolver
		Unloading ALCs
		The Legacy Loading Methods
		Writing a Plug-In System
Chapter 19. Reflection and Metadata
	Reflecting and Activating Types
		Obtaining a Type
		Type Names
		Base Types and Interfaces
		Instantiating Types
		Generic Types
	Reflecting and Invoking Members
		Member Types
		C# Members versus CLR Members
		Generic Type Members
		Dynamically Invoking a Member
		Method Parameters
		Using Delegates for Performance
		Accessing Nonpublic Members
		Generic Methods
		Anonymously Calling Members of a Generic Interface
	Reflecting Assemblies
		Modules
	Working with Attributes
		Attribute Basics
		The AttributeUsage Attribute
		Defining Your Own Attribute
		Retrieving Attributes at Runtime
	Dynamic Code Generation
		Generating IL with DynamicMethod
		The Evaluation Stack
		Passing Arguments to a Dynamic Method
		Generating Local Variables
		Branching
		Instantiating Objects and Calling Instance Methods
		Exception Handling
	Emitting Assemblies and Types
		The Reflection.Emit Object Model
	Emitting Type Members
		Emitting Methods
		Emitting Fields and Properties
		Emitting Constructors
		Attaching Attributes
	Emitting Generic Methods and Types
		Defining Generic Methods
		Defining Generic Types
	Awkward Emission Targets
		Uncreated Closed Generics
		Circular Dependencies
	Parsing IL
		Writing a Disassembler
Chapter 20. Dynamic Programming
	The Dynamic Language Runtime
	Numeric Type Unification
	Dynamic Member Overload Resolution
		Simplifying the Visitor Pattern
		Anonymously Calling Members of a Generic Type
	Implementing Dynamic Objects
		DynamicObject
		ExpandoObject
	Interoperating with Dynamic Languages
		Passing State Between C# and a Script
Chapter 21. Cryptography
	Overview
	Windows Data Protection
	Hashing
		Hash Algorithms in .NET Core
		Hashing Passwords
	Symmetric Encryption
		Encrypting in Memory
		Chaining Encryption Streams
		Disposing Encryption Objects
		Key Management
	Public-Key Encryption and Signing
		The RSA Class
		Digital Signing
Chapter 22. Advanced Threading
	Synchronization Overview
	Exclusive Locking
		The lock Statement
		Monitor.Enter and Monitor.Exit
		Choosing the Synchronization Object
		When to Lock
		Locking and Atomicity
		Nested Locking
		Deadlocks
		Performance
		Mutex
	Locking and Thread Safety
		Thread Safety and .NET Core Types
		Thread Safety in Application Servers
		Immutable Objects
	Nonexclusive Locking
		Semaphore
		Reader/Writer Locks
	Signaling with Event Wait Handles
		AutoResetEvent
		ManualResetEvent
		CountdownEvent
		Creating a Cross-Process EventWaitHandle
		Wait Handles and Continuations
		WaitAny, WaitAll, and SignalAndWait
	The Barrier Class
	Lazy Initialization
		Lazy
		LazyInitializer
	Thread-Local Storage
		[ThreadStatic]
		ThreadLocal
		GetData and SetData
		AsyncLocal
	Timers
		Multithreaded Timers
		Single-Threaded Timers
Chapter 23. Parallel Programming
	Why PFX?
		PFX Concepts
		PFX Components
		When to Use PFX
	PLINQ
		Parallel Execution Ballistics
		PLINQ and Ordering
		PLINQ Limitations
		Example: Parallel Spellchecker
		Functional Purity
		Setting the Degree of Parallelism
		Cancellation
		Optimizing PLINQ
	The Parallel Class
		Parallel.Invoke
		Parallel.For and Parallel.ForEach
	Task Parallelism
		Creating and Starting Tasks
		Waiting on Multiple Tasks
		Canceling Tasks
		Continuations
		Task Schedulers
		TaskFactory
	Working with AggregateException
		Flatten and Handle
	Concurrent Collections
		IProducerConsumerCollection
		ConcurrentBag
	BlockingCollection
		Writing a Producer/Consumer Queue
Chapter 24. Span and Memory
	Spans and Slicing
		CopyTo and TryCopyTo
		Working with Text
	Memory
	Forward-Only Enumerators
	Working with Stack-Allocated and Unmanaged Memory
Chapter 25. Native and COM Interoperability
	Calling into Native DLLs
	Type Marshaling
		Marshaling Common Types
		Marshaling Classes and Structs
		In and Out Marshaling
	Callbacks from Unmanaged Code
	Simulating a C Union
	Shared Memory
	Mapping a Struct to Unmanaged Memory
		fixed and fixed {...}
	COM Interoperability
		The Purpose of COM
		The Basics of the COM Type System
	Calling a COM Component from C#
		Optional Parameters and Named Arguments
		Implicit ref Parameters
		Indexers
		Dynamic Binding
	Embedding Interop Types
		Type Equivalence
	Exposing C# Objects to COM
		Enabling Registry-Free COM
Chapter 26. Regular Expressions
	Regular Expression Basics
		Compiled Regular Expressions
		RegexOptions
		Character Escapes
		Character Sets
	Quantifiers
		Greedy Versus Lazy Quantifiers
	Zero-Width Assertions
		Lookahead and Lookbehind
		Anchors
		Word Boundaries
	Groups
		Named Groups
	Replacing and Splitting Text
		MatchEvaluator Delegate
		Splitting Text
	Cookbook Regular Expressions
		Recipes
	Regular Expressions Language Reference
Chapter 27. The Roslyn Compiler
	Roslyn Architecture
		Workspaces
		Scripting
	Syntax Trees
		SyntaxTree Structure
		Obtaining a Syntax Tree
		Traversing and Searching a Tree
		Trivia
		Transforming a Syntax Tree
	Compilations and Semantic Models
		Creating a Compilation
		Emitting an Assembly
		Querying the Semantic Model
		Example: Renaming a Symbol
Index
About the Authors




نظرات کاربران