作者:empty 页数:1992 出版社:empty |
Work in your local environmentExplore string interpolation-in your environmentSafely update interfaces with default interface methodsCreate mix in functionality wih default interface methodsSetup your environmentNumbers inC#Branches and loopsList collectionsIntroduction to classesObject-Oriented programmingExplore toplevel statementsExplore patterns in objectsExplore C# 6Explore string interpolation-interac iveAdvanced scenarios for string InterpolationExplore indexes and rangesWork with nullable reference typesUpgrade an app to nullable reference typesGenerate and consume asynchronous streamsBuilddata-driven algorithms with pattern matchingConsole Application
Breaking changes in the compilerC#Version HistoryRelationships between language and frameworkVersion and update considerations
Contents
C#documentation
Get started
Introduction to the C#language and.NET
Tour of C#
Introduction
Types
Program building blocks
Major language areas
Tutorials
Overview
Introduction to programming with C#
Choose your first lesson
Helloworld
Numbers inC#
Branches and loops
List collections
Work in your local environment
Explore string interpolation-in your environment
Safely update interfaces with default interface methods
Create mix in functionality wih default interface methods
Setup your environment
Numbers inC#
Branches and loops
List collections
Introduction to classes
Object-Oriented programming
Explore toplevel statements
Explore patterns in objects
Explore C# 6
Explore string interpolation-interac ive
Advanced scenarios for string Interpolation
Explore indexes and ranges
Work with nullable reference types
Upgrade an app to nullable reference types
Generate and consume asynchronous streams
Builddata-driven algorithms with pattern matching
Console Application
REST Client
Inheritance inC#and.NET
Work with LINQ
Use Attributes
What's new inC#
C#9.0
C#8.0
C#7.0-7.3
C#6
Breaking changes in the compiler
C#Version History
Relationships between language and framework
Version and update considerations
C#concepts
C#type system
Nullable reference types
Choose a strategy for enabling nullable reference types
Namespaces
Basic Types
Classes
Deconstructing tuples and other types
Interfaces
Methods
Properties
Indexers
Discards
Generics
Iterators
Delegates&events
Introduction to Delegates
System.Delegate and the delegate keyword
Strongly Typed Delegates
Common Patterns for Delegates
Introduction to events
Standard.NET event patterns
The Updated.NET Event Pattern
Distinguishing Delegates and Events
Language-Integrated Query(LINQ)
Overview of LINQ
Query expression basics
LINQ inC#
Write LINQ queries inC#
Query a collection of objects
Return a query from a method
Store the results of a query in memory
Group query results
Create a nested group
Perform a subquery on a grouping operation
Group results by contiguous keys
Dynamically specify predicate filters at runtime
Perform inner joins
Perform grouped joins
Perform left outer joins
Order the results of a join clause
Join by using composite keys
Perform custom join operations
Handle null values in query expressions
Handle exceptions in query expressions
Asynchronous programming
Pattern Matching
Write safe, efficient code
Expression trees
Introduction to expression trees
Expression Trees Explained
Framework Types Supporting Expression Trees
Executing Expressions
Interpreting Expressions
Building Expressions
Translating Expressions
Summary
Native inter opera bit y
Documenting your code
Versioning
How-to C#articles
Article index
Split strings into substrings
Concatenate strings
Search strings
Modify string contents
Compare sings
Safely cast using pattern matching and is/as operators
The.NET Compiler Platform SDK(Roslyn APIs)
The.NET Compiler Platform SDK(Rosy nAP Is) overview
Understand the compiler API model
Work with syntax
Work with semantics
Work with a workspace
Explore code with the syntax visualizer
Quickstarts
Syntax analysis
Semantic analysis
Syntax Transformation
Tutorials
Build your first analyzer and code fix
C#programming guide
Overview
Inside aC#program
What's inside aC#program
HelloWorld--Your First Program
General Structure of aC#Program
Identifier names
C#Coding Conventions
Main O and command-line arguments
Overview
Command-Line Arguments
Howto display command-line arguments
Main) Return Values
Programming concepts
Overview
Asynchronous programming
Overview
Task asynchronous programming model
Async return types
Cancel tasks
Cancel a list of tasks
Cancel tasks after a period of time
Process asynchronous tasks as they complete
Asynchronous file access
Attributes
Overview
Creating Custom Attributes
Accessing Attributes by Using Reflection
Howto create aC/C++union by using attributes
Collections
Covariance and contra variance
Overview
Variance in Generic Interfaces
Create Variant Generic Interfaces
Use Variance in Interfaces for Generic Collections
Variance in Delegates
Use Variance in Delegates
Use Variance for Func and Action Generic Delegates
Expression trees
Overview
Howto execute expression trees
Howto modify expression trees
Howto use expression trees to build dynamic queries
Debugging Expression Trees in VisualStudio
Debug View Syntax
Iterators
Language-Integrated Query(LINQ)
Overview
GettingStarted with LINQ inC#
Introduction to LINQ Queries
LINQ and Generic Types
Basic LINQ Query Operations
Data Transformations with LINQ
Type Relationships in LINQ Query Operations
Query Syntax and Method Syntax in LINQ
C#Features That Support LINQ
Walkthrough:WritingQueriesinC#(LINQ)
Standard Query Operators Overview
Overview
Query Expression Syntax for Standard Query Operators
Classification of Standard Query Operators by Manner of Execution
Sorting Data
Set Operations
Filtering Data
Quantifier Operations
Projection Operations
Partitioning Data
Join Operations
Grouping Data
Generation Operations
Equality Operations
Element Operations
Converting DataTypes
Concatenation Operations
Aggregation Operations
LINQ to Objects
Overview
LINQ and Strings
Howto articles
Howto count occurrences of a word in a string(LINQ
Howto query for sentences that contain a specified set of words(LINQ)
Howto query for characters in a sting(LINQ
Howto combine LINQ queries with regular expressions
Howto find the set difference between two lists(LINQ)
Howto sort or filter textdata by any word or field(LINQ)
Howto reorder the fields of a delimited file(LINQ)
Howto combine and compare string collections(LINQ)
Howto populate object collections from multiple sources(LINQ)
Howto split a file into many files by using groups(LINQ)
Howto join content from dissimilar files(LINQ)
Howto compute column values in a CSV text fle(LINQ)
LINQ and Reflection
Howto query an assembly's metadata with Reflection(LINQ)
LINQ and File Directories
Overview
Howto query for files with a specified attribute or name
Howto group files by extension(LINQ)
Howto query for the total number of bytes in a set of folders(LINQ)
Howto compare the contents of two folders(LINQ)
Howto query for the largest file or files in a directory tree(LINQ)
Howto query for duplicate files in a directory tree(LINQ)
Howto query the contents of files in a folder(LINQ)
Howto query an ArrayList with LINQ
Howto add custom methods for LINQ queries
LINQ to A DO.NET(Portal Page)
Enabling a DataSource for LINQ Querying
VisualStudio IDE and Tools Support for LINQ
Reflection
Serialization(C#)
Overview
Howto writeobject data to an XML fie
Howto readobject data from an XMLfile
Walkthrough:Persisting an Object in VisualStudio
Statements, expressions, and operators
Overview
Statements
Expression-bodied members
Anonymous functions
Overview
Howto use lambda expressions in a query
Equality and equality comparisons
Equality comparisons
Howto define value equality for a type
Howto test for reference equality(identity)
Types
Use and define types
Casting and Type Conversions
Boxing and Unboxing
Howto convert a bytearray to an int
Howto convert a string to a number
Howto convert between hexadecimal strings and numeric types
Using Type dynamic
Walkthrough:CreatingandUsingDynamicObjects(C#andVisualBasic)
Classes and Structs
Overview
Classes
Objects
Inheritance
Polymorphism
Overview
Versioning with the Override and New Keywords
Knowing When to Use Override and New Keywords
Howto override the ToString method
Members
Members overview
Abstract and Sealed Classes and Class Members
Static Classes and Static Class Members
Access Modifiers
Fields
Constants
Howto define abstract properties
Howto define constants inC#
Properties
Properties overview
Using Properties
Interface Properties
Restricting Access or Accessibility
Howto declare and use read wrte properties
Auto-Implemented Properties
Howto implement a lightweight class with auto-implemented properties
Methods
Methods overview
Local functions
Ref returns and ref locals
Parameters
Passing parameters
Passing Value-Type Parameters
Passing Reference-Type Parameters
Howto know the difference between passing a struct and passing a class
reference to a method
Implicitly Typed Local Variables
Howto use impl ict ly typed local variables and arrays in a query expression
Extension Methods
Howto implement and call a custom extension method
Howto create a new method for an enumeration
Named and Optional Arguments
Howto use named and optional arguments in Office programming
Constructors
Constructors overview
Using Constructors
Instance Constructors
Private Constructors
Static Constructors
Howto write a copy constructor
Finalizers
Object and Collection Initializers
Howto initialize objects by using an object initializer
Howto initialize a dictionary with a collection initializer
Nested Types
Partial Classes and Methods
Anonymous Types
Howto return subsets of element properties in a query
Interfaces
Overview
Explicit Interface Implementation
Howto explicitly implement interface members
Howto explicitly implement members of two interfaces
Delegates
Overview
Using Delegates
Delegates with Named vs.Anonymous Methods
Howto combine delegates(Multicast Delegates) (C#Programming Guide)
Howto declare, instantiate, and use a delegate
Arrays
Overview
Arrays as Objects
Single-Dimensional Arrays
Multidimensional Arrays
Jagged Arrays
Using for each with Arrays
Passing Arrays as Arguments
Implicitly Typed Arrays
Strings
Programming with strings
Howto determine whether a string represents a numeric value
Indexers
Overview
Using Indexers
Indexers in Interfaces
Comparison Between Properties and Indexers
Events
Overview
Howto subscribe to and unsubscribe from events
Howto publish events that conform to.NET Guidelines
Howto raise baseclass events in derived classes
Howto implement interface events
Howto implement custom event accessors
Generics
Overview
Generic Type Parameters
Constraints on Type Parameters
Generic Classes
Generic Interfaces
Generic Methods
Generics and Arrays
Generic Delegates
Differences Between C++Templates and C#Generics
Generics in the RunTime
Generics and Reflection
Generics and Attributes
Namespaces
Overview
Using namespaces
Howto use the My namespace
Unsafe Code and Pointers
Overview and restrictions
Fixed size buffers
Pointer types
Overview
Pointer conversions
Howto use pointers to copy an array of bytes
XML documentation comments
Overview
Integral numeric types
Floating-point numeric types
Built-in numeric conversions
Recommended tags for documentation comments
Processing the XMLfile
Delimiters for documentation tags
Howto use the XML documentation features
Documentation tag reference
c>
code>
cref attribute
example>
exception>
include>
inherit doc>
list>
para>
param>
param ref>
permission>
remarks>
returns>
see>
see also>
summary>
type param>
type param ref>
value>
Exceptions and Exception Handling
Overview
Using Exceptions
Exception Handing
Creating and Throwing Exceptions
Compiler-Generated Exceptions
Howto handle an exception using try-catch
Howto execute cleanup code using finally
Howto catch an on-CLS exception
FileSystem and the Registry
Overview
Howto iterate through a directory tree
Howto get information about files, folders, and drives
Howto create a file or folder
Howto copy, delete, and move fles and folders
Howto provide a progress dialogbox for fle operations
Howto write to a textfile
Howto read From a textfile
Howto read a textfile one lineata time
Howto create a key in the registry
Inter opera bii y
.NET Interoperability
Interoperability Overview
Howto access Office interop objects by using C#features
Howto use indexed properties in COM interop programming
Howto use platform invoke to playa WAV file
Walkthrough:OffceProgramming(C#andVisualBasic)
Example COM Class
Language reference
Overview
Configure language version
Types
Value types
Overview
bool
char
Enumeration types
Structure types
Tuple types
Nullable value types
Reference types
Features of reference types
Built-in reference types
class
interface
Nullable reference types
void
var
Built-in types
Unmanaged types
Default values
Keywords
Overview
Modifiers
Access Modifiers
Quick reference
Accessiblity Levels
Accessiblity Domain
Restrictions on Using Access i bily Levels
internal
private
protected
public
protected internal
private protected
abstract
async
const
event
extern
in(generic modifier)
new(member modifier)
out(generic modifier)
override
readonly
sealed
static
unsafe
virtual
volatile
Statement Keywords
Statement categories
Selection Statements
if-else
switch
Iteration Statements
do
for
for each, in
while
Jump Statements
break
continue
goto
return
Exception Handling Statements
throw
try-catch
try-finally
try-catch-finally
Checked and Unchecked
Overview
checked
unchecked
fixed Statement
lock Statement
Method Parameters
Passing parameters
params
in(Parameter Modifier
ref
out(Parameter Modifier)
Namespace Keywords
namespace
using
Contexts for using
using Directive
using static Directive
using Statement
external i as
Type-testing Keywords
is
Generic Type Constraint Keywords
new constraint
where
Access Keywords
base
this
Literal Keywords
null
true and false
default
Contextual Keywords
Quick reference
add
get
partial(Type)
partial(Method)
remove
set
when(filter condition)
value
yield
Query Keywords
Quick reference
from clause
where clause
select clause
group clause
into
order by clause
join clause
let clause
ascending
descending
on
equals
by
in
Operators and expressions
Overview
Arithmetic operators
Boolean logical operators
Bitwise and shift operators
Equality operators
Comparison operators
Member access operators and expressions
Type-testing operators and cast expression
User-defined conversion operators
Pointer-related operators
Assignment operators
Lambda expressions
+and+=operators
-and-=operators
?:operator
!(null-forgiving) operator
??and??=operators
=>operator
:operator
await operator
defaultvalue expressions
delegate operator
name of expression
new operator
sizeof operator
stack alloc expression
switch expression
true and false operators
with expression
Operator overloading
Special characters
Overview
$--string interpolation
@--verbatim identifier
Attributes read by the compiler
Global attributes
General
Caller information
Nullable static analysis
Preprocessor directives
Overview
#if
#else
#elif
#endif
#define
#undef
#warning
#error
#line
#region
#endregion
#pragma
#pragma warning
#pragma checksum
Compiler options
Overview
Command-line Building With csc.exe
Howto set environment variables for the VisualStudio CommandLine
C#Compiler Options Listed by Category
C#Compiler Options Listed Alphabetically
@
-addmodule
-appconfig
-base address
-bugreport