نمایه C# 12 in a Nutshell؛ Symbols تا F

نمایهٔ C# 12 in a Nutshell؛ نمادها تا حرف F

نمایهٔ C# 12 in a Nutshell؛ نمادها تا حرف F

نمایهٔ کتاب — نمادها تا حرف F

این بخش، نمایهٔ کتاب را از نمادها و operatorها تا مدخل‌های حرف F پوشش می‌دهد. ترتیب مدخل‌ها و تمام شماره‌صفحه‌های ارجاعی مطابق منبع حفظ شده‌اند.

نمایه — صفحهٔ 1031

Symbols
! (logical negation operator), 55, 608
! (null-forgiving operator), 216
!= (inequality operator), 55, 212, 346, 353
# (hash), 270, 607
$ (dollar sign)
in regular expressions, 1019
preceding interpolated strings, 60, 296
% (remainder operator), 50
& (ampersand)
address-of operator, 263
bitwise AND operator, 52, 155
bool? with & operator, 213
in parameter type names, 809
&& (conditional and operator), 56, 608
' (quote, single)
enclosing char literals, 57
following generic type names, 808
() (parentheses), 35, 78
(?x) IgnorePatternWhitespace, 1013
* (asterisk)
as deference operator, 263
as multiplication operator, 32, 35, 50
in regular expressions, 1016
+ (plus sign)
addition operator, 50
combining delegate instances, 176
in nested type names, 808
in regular expressions, 1016
string concatenation operator, 60
++ (increment operator), 51
+= (add to self) operator
combining delegate instances, 176
delegate variable assignment, 176
event accessors, 187
subscribing to events, 181
+∞(positive infinity), 53
, (comma), 64
- (hyphen), 1015
- (minus sign)
negative infinity (−∞), 53
negative zero (−0), 53
removing delegate instances, 176
subtraction operator, 50
- (pointer-to-member operator), 263, 265
-- (decrement operator), 51
-= operator
event accessors, 187
removing delegate instances, 176
unsubscribing from events, 181
. (period), 35, 78
/ (forward slash)
as division operator, 50
trailing in URIs, 746
/* */ (multiline comments), 36, 272
// (forward slash, double), 31, 36
/// (documentation comments), 272
: (colon), in named arguments, 74
:: (namespace alias qualification), 101
; (semicolon), 31, 35
< (comparison operator), 355, 357
<< (shift left operator), 52
= (equal sign), as assignment operator, 35,
79
= (expression-bodied members), 257
== (equality operator), 35, 346
Boolean values and, 55
Equals method versus, 349
NaN value and, 54
operator lifting and, 212
overloading, 258, 353
records and, 237
string equality comparison, 61, 297

نمایه — صفحهٔ 1032

=> (expression-bodied members), 108,
115, 124
=> (fat arrow notation), 108, 115
=> (lambda operator), 188
> (comparison operator), 355, 357
>> (shift right operator), 52
? (question mark)
in nullable types, 210
in regular expressions, 1011, 1017
?. (null-conditional operator), 83, 185, 213
?? (null-coalescing operator), 83, 213
[] (square brackets)
array declaration, 40, 61, 65
in collection expressions, 62
in list patterns, 243
in regular expressions, 1014
\ (backslash)
in regular expressions, 1014
preceding escape sequences, 57
^ (caret)
bitwise exclusive OR operator, 52
in regular expressions, 1019, 1019
_ (discard symbol), 72
{} (braces)
enclosing expressions in interpolated
strings, 296
enclosing statement blocks, 32, 84
in if statements, 87
in regular expressions, 1017
| (vertical bar)
bitwise OR operator, 52, 155
bool? with | operator, 213
in regular expressions, 1012
|| (conditional or operator), 56, 608
~ (complement operator), 52
~ (finalizer), 124
calling Dispose from, 590
GC and, 589-593
GC.ReRegisterForFinalize, 593
resurrection, 592-593
A
abstract classes, 132
abstract members, 132
access control lists (ACLs), 734
access modifiers, 145-147
accessibility capping, 146
friend assemblies, 146
restrictions on, 147
accessors, 114, 187
ACLs (access control lists), 734
Action delegate, 178
add to self (+=) operator
combining delegate instances, 176
delegate variable assignment, 176
event accessors, 187
subscribing to events, 181
addressing systems, network, 743
administrative elevation, 735
Aes class, 879-884
Aggregate operator, 516-518, 945
AggregateException class, 651, 652, 685,
964-965
Flatten method, 965
Handle method, 965
parallel programming, 964-965
aggregation methods, 514-518
aggregation operators, 427
ALC (رجوع کنید به assembly load context)
aliasing
any type, 100
namespace alias qualifiers, 101
tuples, 225
types within namespaces, 99
All method, 519
alternator (|), 1012
Amazon Web Services (AWS), 884
ambient property, 214
Amdahl's law, 934
ampersand (&)
address-of operator, 263
bitwise AND operator, 52, 155
bool? with & operator, 213
in parameter type names, 809
anchors, 1019
annotations, LINQ to XML, 548
anonymous disposal, 585-587
anonymous methods, 194
anonymous pipes, 705, 707-708
anonymous types, 220, 446
Any method, 519
APM (Asynchronous Programming
Model), 689
AppContext, 362
AppDomain.CurrentDomain.BaseDirec‐
tory, 702, 731
application base directory, 702
|

نمایه — صفحهٔ 1033

application layer, 741
application manifest, 735, 767
application servers, 901
Application.DispatcherUnhandledExcep‐
tion, 641, 675
Application.ThreadException, 641
ApplicationData directory, 731
arguments
implications of passing by reference,
72
named, 74
pass-by-value versus pass-by-
reference, 70
passing to a Dynamic Method, 836
arithmetic operators, 50
Array class, 377-385
basics, 377-379
construction and indexing, 379-381
converting/resizing, 385
copying, 384
enumeration, 381
length and rank, 381
reversing elements, 384
searching, 382
sorting, 383
array initialization expressions, 62, 65
array pooling, 599
array types, obtaining, 807
Array...
Array.ConvertAll method, 385
Array.Sort, 384
ArrayList, 386-388
arrays, 61-67
array initialization expressions, 62, 65
bounds checking, 66
covariance, 168
default element initialization, 62
indices and ranges, 63
jagged, 65
multidimensional, 64
rectangular, 64
simplified initialization expressions,
65
type names, 809
value types versus reference types, 63
as operator, 129
ASCII character set, 301
AsEnumerable operator, 453, 511
AsParallel operator, 935-938
.ASP.NET Core, 286
AsQueryable operator, 467, 511
assemblies, 33, 765-804
application manifest, 767
applying attributes to, 244
Assembly class, 768
assembly manifest, 766
AssemblyName class, 772
Authenticode signing, 773-776
components, 765-769
defined, 4
emitting assemblies and types,
841-849
fully qualified names, 771
informational/file versions, 773
loading/resolving/isolating, 783-804
modules, 768
names, 771-773
reflecting, 827
resources, 776-783
satellite assemblies, 781-782
specifying attributes, 767
strong names and assembly signing,
770
assembly load context (ALC), 785-804
Assembly.Load and contextual ALCs,
792-795
AssemblyDependencyResolver, 796
current ALC, 792
default ALC, 790
default probing, 791
EnterContextualReflection, 794-795
legacy loading methods, 798-799
LoadFile and Load(byte[]), 798
LoadFrom method, 798
LoadFromAssemblyName, 787
loading assemblies, 786
loading/resolving unmanaged libra‐
ries, 795
resolving assemblies, 787-790
unloading, 797
writing a plug-in system, 799-804
assembly resolution, 783, 787-790
Assembly...
Assembly class, 768
Assembly.GetType, 806
Assembly.Load, 783, 792-795
AssemblyBuilder, 841
AssemblyDependencyResolver, 796
|

نمایه — صفحهٔ 1034

AssemblyFileVersion, 773
AssemblyInformationalVersion, 773
AssemblyLoadContext, 784
AssemblyName, 772
AssemblyQualifiedName, 808
Assert method, 611
assignment expressions, 79
assignment operators, 80
associativity, operator, 79
asterisk (*)
as deference operator, 263
as multiplication operator, 32, 35, 50
in regular expressions, 1016
asynchronous call graph, 657
asynchronous functions, 661-680
asynchronous call graph execution,
670
asynchronous lambda expressions, 672
asynchronous methods in WinRT, 675
asynchronous streams, 672-674
asynchrony and synchronization con‐
texts, 675
avoiding excessive bouncing, 680
awaiting, 661-667
defined, 662
optimizations, 677-679
parallelism, 671
precautions when using Value‐
Task<T>, 679
returning Task<TResult>, 668
synchronous completion, 677-680
ValueTask<T> and, 679
writing, 667-671
asynchronous lambda expressions, 672
asynchronous patterns, 681-689
Asynchronous Programming Model
(APM), 689
BackgroundWorker class, 691
cancellation, 681-683
Event-Based Asynchronous Pattern,
690
obsolete patterns, 689-691
progress reporting, 683-684
task combinators, 685-689
task-based patterns, 685
asynchronous programming
continuations and, 658
principles, 657
Asynchronous Programming Model
(APM), 689
asynchronous streams, 672-674
IAsyncEnumerable<T> in ASP.Net
Core, 674
querying IAsyncEnumerable<T>, 674
asynchrony, 656-661
asynchronous functions in C#,
661-680
asynchronous lambda expressions, 672
asynchronous patterns, 681-689
asynchronous programming princi‐
ples, 657
coarse-grained concurrency versus,
666
language support and, 659-661
principles of, 656-661
synchronous versus asynchronous
operations, 656
AsyncLocal<T>, 925
atomicity, locking and, 894
attributes, 243-247
applying to assemblies and backing
fields, 244
applying to lambda expressions (C#
10), 245
attaching custom attributes to
dynamic construct, 849
attribute classes, 243
AttributeUsage, 830
basics, 829
caller info attributes, 246
defining your own, 831
named/positional parameters, 244
namespaces and, 545
reading, 559
reflection, 828-833
retrieving at runtime, 832
specifying multiple attributes, 245
writing, 562
AttributeUsage attribute, 830
authentication
client-side classes, 751-753
CredentialCache and, 752
via headers with HttpClient, 753
Authenticode, 773-776
assembly signing, 773-776
code-signing certificate, 775
signing with, 774
|

نمایه — صفحهٔ 1035

signing with signtool.exe, 775
time stamping, 776
automatic garbage collection, 587-588
automatic properties, 115
autonomous tasks, 651
AutoResetEvent, 912-915
Avalonia, 7
Average operator, 515
AVL tree, 409
await expressions, 661-667
awaiting in a UI, 664-666
capturing local state, 663
locking and, 906
AWS (Amazon Web Services), 884
B
b (word boundary assertion), 1020
background garbage collection, 597
background threads, 642
BackgroundWorker class, 691
backing fields, 244
backing store streams, 700
backslash (\)
in regular expressions, 1014
preceding escape sequences, 57
banker's rounding, 331
Barrier class, 919-920
base class library (BCL), 5
base constructors, 848
base keyword, 134
base types and interfaces, 809
base-class constraint, 164
BaseType property, 809
Basic Multilingual Plane (BMP), 303
BCL (base class library), 5
BigInteger struct, 336
binary adapters, 715
binary operators, 79
BinaryReader, 761
BinaryWriter, 761
binding
dynamic binding, 248-256
static versus dynamic, 249
BindingFlags enum, 822
bit-mapped attributes, 829
BitArray class, 392
BitConverter, 333
BitOperations, 340
bitwise operators, 52
blocking
spinning versus, 635
threads, 634
BlockingCollection<T>, 969-972
using tasks, 971-972
writing a producer/consumer queue,
970-972
BMP (Basic Multilingual Plane), 303
bool (Boolean) type and operators, 37,
55-57
conditional operators, 56
equality and comparison operators, 55
bounds checking, 66
boxing
copying semantics, 140
defined, 139
interfaces and, 151
nullable values, 211
braces ({})
enclosing expressions in interpolated
strings, 296
enclosing statement blocks, 32, 84
in if statements, 87
in regular expressions, 1017
branching, 838
break statement, 93
broadcaster type, 181
BrotliStream, 718
BufferedStream class, 708
builder class, 408
built-in types, 37
byte arrays, 303
byte type, 53
C
C# (generally)
brief history of features introduced
from C# 2.0 through C# 9.0, 8-30
language basics, 31-102
memory management, 3, 4
(همچنین رجوع کنید به garbage collection[GC])
niche runtimes, 8
object orientation, 1
platform support, 3
simple program, 31-34
syntax, 34-36
type safety, 2
|

نمایه — صفحهٔ 1036

C# 8
array ranges and indices, 63
asynchronous streams, 672-674
default interface members, 151
new features, 19-23
null-coalescing assignment operators,
83
nullable reference types, 215-217
property patterns, 241
static local methods, 107
switch expressions, 90
using declarations, 200
using indices and ranges with index‐
ers, 119
C# 9
callbacks with function pointers, 991
function pointers, 991
init-only properties, 818
init-only setters, 116
new features, 16-19
pattern combinators, 240
records (رجوع کنید به records)
relational patterns, 239
target-typed new expressions, 77
top-level statements, 41, 107
C# 10
applying attributes to lambda expres‐
sions, 245
CallerArgumentExpression, 247
file-scoped namespaces, 96
global using directive, 96
new features, 13-16
C# 11
checked operators, 258
list patterns, 243
new features, 10-13
raw string literals, 59-60
required members for constructors,
136
UTF-8 string literals, 61
C# 12
aliasing any type, 100
collection expressions, 62, 205, 976
default lambda parameters, 190
new features, 8-10
CA (Certificate Authority), 774
caching, 604
calculated fields, 233-235
calculated properties, 115
call graph, 657, 670
call sites, 862
call-site caching, 862
caller info attributes, 246
CallerArgumentExpression, 247
calling conventions, 990, 992
calling site, 113
CallSite<>, 862
canceling a PLINQ query, 941
cancellation tokens, 904, 941
Capitalizer (plug-in), 800
captured variables, 434, 639
caret (^)
bitwise exclusive OR operator, 52
in regular expressions, 1019, 1019
cartesian product, 488
Cast operator, 509
casting, 128-130
as operator, 129
downcasting, 128
introducing a pattern variable, 130
is operator and, 130
upcasting, 128
catch clause, 197-198, 208
CCW (COM-Callable Wrapper), 1007
centralized exception handling, 641
Certificate Authority (CA), 774
chaining
encryption streams, 882
extension methods, 218
ChangeType method, 331
char type, 58, 291
character sets, 1015
characters, accessing within strings, 294
checked operators, 51, 258
child tasks, 956, 960
chunk partitioning, 944
circular dependencies, 853
class constraint, 164
classes, 103-126
abstract, 132
anonymous types, 220
constants, 104-106
constructors and inheritance, 135-137
deconstructors, 110-111
fields, 103
finalizers, 124
inheritance (رجوع کنید به inheritance)
instance constructors, 108
|

نمایه — صفحهٔ 1037

methods, 106-108
nameof operator, 126
object initializers, 111
partial types/methods, 124
primary constructors and subclassing,
137
properties, 114-118
sealing functions and classes, 134
static classes, 124
static constructors, 122
this reference, 113
writing a class versus an interface, 153
client-side classes
authentication, 751-753
HttpClient, 746-755
proxies, 751
Clone method, 378, 384
cloning, 528
Close method, 583
closed generic types, 851
closures, 190
CLR (Common Language Runtime), 4
C# members versus CLR members,
816
calling conventions, 990
deadlocks and, 896
indexer implementation, 119
property implementation, 117
type equivalence, 1007
coarse-grained concurrency, 666
code point, 301
collection expressions, 62, 205, 976
Collection<T>, 401-403
CollectionBase, 403
collections, 365-417
Array class, 377-385
customizable collections and proxies,
401-406
enumeration, 366-373
frozen collections, 410
ICollection and IList interfaces,
373-376
IEqualityComparer and EqualityCom‐
parer, 412-414
immutable collections, 406-410
IStructuralEquatable and IStructural‐
Comparable, 417
lists, queues, stacks, and sets, 385-394
plugging in equality and order,
411-417
StringComparer, 416
collision, 878
colon (:), in named arguments, 74
COM (Component Object Model),
1001-1009
calling a COM component from C#,
1003-1007
dynamic binding, 1006
embedding interop types, 1006
enabling registry-free COM, 1009
exposing C# objects to, 1007-1009
implicit ref parameters, 1005
indexers, 1005
IUnknown and IDispatch, 1003
optional parameters and named argu‐
ments, 1004
purpose of, 1002
type equivalence, 1007
type system basics, 1002
COM interop types, 1003
COM-Callable Wrapper (CCW), 1007
comma (,), 64
comments, 36
Common Language Runtime (رجوع کنید به CLR)
CommonApplicationData, 731
Compare method, 297
CompareOrdinal method, 297
CompareTo, 297, 478
CompareTo method, 61
comparison operators, 55, 258, 355
comparisons
ordinal versus culture comparison,
297
string equality comparisons, 61, 297
string order comparison, 299
string types, 297-300
compilation, 33
complement operator (~), 52
Complex struct, 338
Component Object Model (رجوع کنید به COM)
composite format string, 296
composite formatting, 321
Compressed file attribute, 724
compression streams, 718-721
compressing in memory, 719
Concat operator, 296, 507
concatenation, 60
|

نمایه — صفحهٔ 1038

concurrency and asynchrony, 631-691
common concurrency scenarios, 631
principles of asynchrony, 656-661
tasks, 648-656
threading, 632-647
concurrent collections, 966-969
ConcurrentBag<T>, 968
IProducerConsumerCollection<T>,
967
concurrent garbage collection, 597
concurrent operations, canceling, 681-683
ConcurrentBag<T>, 968
ConcurrentQueue<T>, 593
conditional (ternary) operator, 57
conditional and operator (&&), 56, 608
Conditional attribute, 271, 609-610
conditional compilation, 607-610
Conditional attribute, 609-610
static variable flags versus, 608
conditional continuations, 960
conditional or operator (||), 56, 608
ConfigureAwait, 680
Console class, 321, 358
constant pattern, 239
constants, 104-106
ConstrainedCopy method, 385
constraints, 163-165
constructors, 38
deconstructors and, 110-111
emitting, 848
field initialization order, 137
implicit calling of the parameterless
base-class constructor, 135
implicit parameterless, 109
inheritance and, 135-137
instance constructor and field initiali‐
zation order, 109
instance constructors, 108
nonpublic constructors, 109
overloading, 108
primary, 235-237
required members (C# 11), 136
static, 122
Contains method, 519
contextual keywords, 35
continuations
asynchronous programming and, 658
child tasks and, 960
conditional, 960
event wait handles and, 917
exceptions and, 959
multiple antecedents with, 962
multiple continuations on a single
antecedent, 962
task parallelism, 958-962
Task<TResult> and, 958
tasks and, 652-653
continue statement, 93
ContinueWith method, 958-962
contravariance, 170, 180
conversions, 42
enums, 155, 341-342
generic types, 166
implicit/explicit, 42
implicit/explicit nullable conversions,
210
LINQ methods, 509-511
numeric types, 42, 335
operator overloading and, 258
Convert class, 330-332
banker's rounding, 331
base-64 conversions, 332
dynamic conversions, 331
parsing numbers in base 2, 8, and 16,
331
rounding real to integral conversions,
331
ConvertTime method, 314
cookies, 754
Coordinated Universal Time (UTC), 306,
313
copy constructor, 231
Copy method, 384
CopyTo method, 384, 976
core dump, 628
correlated subquery, 482
Count operator, 514
CountdownEvent, 916
covariance, 167-170, 180
covariant return types, 131
CreateRandom method, 260
CreateViewAccessor method, 738
CredentialCache, 752
CredentialCache.DefaultNetworkCreden‐
tials, 751, 753
cross join, 488
cross-process EventWaitHandle, 916
cryptography and encryption, 875-888
|

نمایه — صفحهٔ 1039

hashing, 877-879
options in .NET, 875
public-key encryption/signing,
884-888
symmetric encryption, 879-884
Windows Data Protection, 876
CryptoStream, 880
.csproj file, 273
culture sensitive string comparison, 297
CultureInfo, 300, 320
CultureInfo.CurrentCulture, 319
CultureInfo.CurrentUICulture, 781
cultures and subcultures, 782
custom attributes, 829
custom binding, 249
custom conversion, 166
custom types, 37-42
constructors and instantiation, 38
equality and, 350-355
instance versus static members, 38
members of a type, 38
public keyword, 39
symmetry of predefined/custom types,
38
customizable collections and proxies,
401-406
Collection<T> and CollectionBase,
401-403
KeyedCollection<TKey,TItem> and
DictionaryBase, 403-405
ReadOnlyCollection<T>, 406
D
data members, 38
data parallelism, 932
data transfer object (DTO), 484
dates and times, 304-317
dates and time zones, 312-317
DateTime and DateTimeOffset,
306-311
parsing with regular expressions, 1024
TimeSpan, 304
DateTime, 306-311
constructing, 307
DateTimeOffset versus, 306
daylight saving time and, 316
format strings, 327-329
formatting/parsing datetimes, 310
null values, 311
parsing/misparsing, 328
returning current date/time with, 309
time zones and, 312
working with dates and times, 310
DateTime.MinValue, 311
DateTimeFormatInfo, 320
DateTimeOffset, 306-311, 345
constructing, 308
DateTime versus, 306
format strings, 327-329
formatting/parsing datetimes, 311
null values, 311
returning current date/time with, 309
time zones and, 313
working with dates and times, 310
DateTimeStyles, 329
daylight saving time, 316
DbContext, 455-461
change tracking, 461
configuring the connection, 455
configuring the model, 456
creating the database, 458
disposing, 460
object tracking, 459
using, 459
Debug and Trace classes, 611-614
Fail and Assert methods, 611
flushing and closing listeners, 613
TraceListener, 612
Debugger class, 614
attaching and breaking, 614
attributes, 614
DebuggerHidden attribute, 614
DebuggerStepThrough attribute, 614
decimal conversions, 50
declaration statements, 84
declarative parallelism, 933
Deconstruct method, 110, 241
deconstructing assignment, 111
deconstructors, 110-111
decorator sequence, 435
decrement operator (--), 51
deep cloning, 528
default keyword, 69, 163
default lambda parameters (C# 12), 190
default scheduler, 962
DefaultIfEmpty operator, 514
deferred execution
|

نمایه — صفحهٔ 1040

captured variables, 434
chaining decorators, 436
EF Core queries, 464
how queries are executed, 437
LINQ queries, 432-438
mechanism of operation, 435
reevaluation, 433
subqueries and, 441
deferred loading, 552
#define directive, 607
DefineMethodOverride, 846
definite assignment policy, 68
DeflateStream, 718-720
delegate type, 173
Delegate.CreateDelegate, 811
delegates, 173-181
callbacks with, 993
calling dynamically instantiated dele‐
gates, 822
compatibility, 179-181
dynamically instantiating, 811
Func and Action delegates, 178
generic delegate type parameter var‐
iance, 181
generic delegate types, 177
instance/static method targets, 175
interfaces versus, 178
multicast, 176
parameter compatibility, 180
return type compatibility, 180
type compatibility, 179
writing plug-in methods with, 174
DelegatingHandler, 750
DescendantNodes method, 531
Descendants method, 531
diagnostics, 607-629
conditional compilation, 607-610
cross-platform tools, 625
Debug and Trace classes, 611-614
debugger integration, 614
performance counters, 620-624
processes and process threads, 615
StackTrace and StackFrame, 616-618
Stopwatch class, 624
Windows event logs, 618-620
dictionaries, 394-400
Dictionary<TKey,TValue> and Hasht‐
able, 397-398
IDictionary, 396
IDictionary<TKey,TValue>, 395
ListDictionary and HybridDictionary,
399
OrderedDictionary, 398
sorted, 399
dictionary attack, 878
Dictionary<TKey,TValue>, 397-398
DictionaryBase, 405
digital signing, 887
Directory class, 727
DirectoryInfo class, 728
disassembler, 855-859
discard symbol (_), 72
discards, 72
disposal
anonymous, 585-587
calling Dispose from a finalizer, 590
clearing fields, 584
defined, 581
encryption objects, 883
IDisposable, Dispose, and Close,
581-587
standard disposal semantics, 582
wait handles, 913
when to dispose, 583
Dispose method, 581-587, 590
Distinct operator, 479
division, 51
DLL (Dynamic Link Library)
callbacks from unmanaged code, 991
calling into native DLLs, 985
mapping structs to unmanaged mem‐
ory, 997-1001
simulating C unions, 994
type and parameter marshaling,
986-990
.dll files, 33
DLR (Dynamic Language Runtime), 249,
861
DNS (Domain Name Service), 758
Dns class, 758
do-while loops, 91
document object model (رجوع کنید به DOM)
documentation comments (///), 272
dollar sign ($)
in regular expressions, 1019
preceding interpolated strings, 60, 296
DOM (document object model)
basics, 521
|

نمایه — صفحهٔ 1041

expression DOM, 468
Domain Name Service (DNS), 758
dotnet tool, 33
dotnet-counters tool, 625
dotnet-dump tool, 628
dotnet-trace tool, 627
double type, 54
double-checked locking, 921
downcasting, 128
DownloadDataTaskAsync, 665
DPAPI (Windows Data Protection API),
876
DriveInfo class, 731
DTO (data transfer object), 484
dump, 628
dynamic binding, 248-256
conversions, 252
custom binding, 249
dynamic calls without dynamic receiv‐
ers, 253
dynamic expressions, 253
language binding, 250
on COM types, 1006
runtime representation of dynamic,
251
RuntimeBinderException, 251
static binding versus, 249
static types in dynamic expressions,
254
uncallable functions, 255
var versus dynamic types, 252
dynamic calls, 253
dynamic code generation, 834-840
branching, 838
exception handling, 840
generating IL with DynamicMethod,
834-835
generating local variables, 837
instantiating objects and calling
instance methods, 838
passing arguments to a Dynamic
Method, 836
dynamic construct, 849
dynamic conversions, 331
dynamic expressions, 253
Dynamic Language Runtime (DLR), 249,
861
dynamic languages, 872-873
Dynamic Link Library (DLL) (رجوع کنید به DLL)
dynamic objects, 869-871
dynamic programming, 861-873
Dynamic Language Runtime (DLR),
861
dynamic member overload resolution,
863-868
implementing dynamic objects,
869-871
interoperating with dynamic lan‐
guages, 872-873
dynamic receivers, dynamic calls without,
253
dynamic type, 252
DynamicMethod
generating IL with, 834-835
passing arguments to, 836
DynamicObject, 869-871
DynamicVisit method, 864
E
EAP (Event-Based Asynchronous Pat‐
tern), 690
EF Core, 454-466
adding and removing entities from
navigation collections, 463
change tracking, 461
DbContext, 455-461
deferred execution, 464
entity classes, 454
GroupBy in, 506
loading navigation properties, 463
navigation properties, 462-464
object tracking, 459
SelectMany in, 489
SQL LIKE comparisons, 477
string comparisons in, 478
subqueries and joins in, 482
WHERE x IN (…,…,…), 478
8- and 16-bit integral types, 53
Element method, 530
element operators, 427, 512-514
element typing, 425
ElementAt operator, 513
elements, 419
#elif directive, 608
#elif statement, 608
else clause, 86
#else directive, 608
|

نمایه — صفحهٔ 1042

#else statement, 608
"Elvis" (null-conditional) operator (رجوع کنید به
null-conditional operator)
email
receiving POP3 mail with TCP,
763-764
sending mail with SmtpClient, 758
embarrassingly parallel problems, 934
Empty operator, 520
empty strings, 293
Encoding object, 302
Encoding.GetEncoding, 302
Encrypted file attribute, 724
encryption (رجوع کنید به cryptography and encryp‐
tion)
#endif directive, 607
EndsWith method, 294
EnterAsync extension method, 906
EnterContextualReflection, 794-795
Enum...
Enum.GetNames, 343
Enum.GetValues, 343
Enum.Parse, 342
Enum.ToObject, 342
Enumerable...
Enumerable.AsEnumerable operator,
453
Enumerable.ElementAt, 513
Enumerable.Except, 508
Enumerable.Join, 499
Enumerable.Where, 476
enumeration, 203, 366-373
Array class, 381
collection initializers and collection
expressions, 205
collections, 366-373
IEnumerable and IEnumerator, 366
IEnumerable<T> and IEnumera‐
tor<T>, 367-369
implementing the enumeration inter‐
faces, 369-373
enumerators, 203, 980-982
enums, 154-157, 340-343
conversions, 155, 341-342
defined, 154
enum to integral conversions, 341
enumerating enum values, 343
Flags attribute, 155
format strings, 330
integral to enum conversions, 342
operators that work with, 156
semantics of, 343
string conversions, 342
type-safety issues, 156
Environment.SpecialFolder, 730
equal sign (=), as assignment operator, 35,
79
equality comparison, 297, 344-355
changing the meaning of equality, 350
equality and custom types, 350-355
implementing IEquatable<T>, 354
overloading == and !=, 353
overriding equality semantics, 351
overriding Equals, 353
overriding GetHashCode, 352
pluggable equality operators, 355
records and, 237
speeding up with structs, 351
standard equality protocols, 346-350
value equality versus referential equal‐
ity, 345
equality operator (==), 35, 346
Boolean values and, 55
Equals method versus, 349
NaN value and, 54
operator lifting and, 212
overloading, 258, 353
records and, 237
string equality comparison, 61, 297
EqualityComparer, 412-414
EqualityComparer<T>, 348
EqualityComparer<T>.Default, 413
Equals method
equality operator (==) versus, 349
IComparable versus, 356
#error preprocessor directive, 270
escape sequences, 57, 1014
evaluation stack, 835
event accessors, 182
event wait handles, 911-919
AutoResetEvent, 912-915
continuations and, 917
CountdownEvent, 916
cross-process, 916
disposal, 913
ManualResetEvent, 915
signaling with, 911-919
|

نمایه — صفحهٔ 1043

WaitAny, WaitAll, and SignalAndWait,
918
Event-Based Asynchronous Pattern
(EAP), 690
EventLog class, 618-620
events
accessors, 187
mechanism of operation, 182
modifiers, 188
standard event pattern, 183-186
weak references and, 604-606
Except operator, 508
exception filter, 198
exception handling
centralized, 641
dynamic code generation, 840
threading and, 640
exception posting, 675
exceptions, 200-201
(همچنین رجوع کنید به try statements and excep‐
tions)
autonomous tasks and, 651
continuations and, 959
tasks and, 650
throwing, 200-201
exclusive locking, 890-898
choosing the synchronization object,
892
deadlocks, 896
lock statement, 891
locking and atomicity, 894
lockTaken overloads, 892
Monitor.Enter and Monitor.Exit, 891
Mutex, 897
nested locking, 895
performance, 897
TryEnter method, 892
when to lock, 893
.exe files, 33
ExpandoObject, 871
explicit conversions, 42
explicit loading, 464
expression DOM, 468
expression statements, 85
expression trees, 468-470
compiling, 467
delegates versus, 466-468
lambda expressions and, 188
expression-bodied members (=), 257
expression-bodied members (=>), 108,
115, 124
expression-bodied methods, 106
expression-bodied properties, 115
expressions, 78-80
assignment expressions, 79
primary expressions, 78
switch expressions, 90
void expressions, 78
extended partial methods, 125
Extensible Application Markup Language
(XAML) files, 333, 780
extension methods, 217-220, 423
ambiguity and resolution, 219
chaining, 218
demoting, 220
disambiguating two methods with
same signature, 220
EnterAsync, 906
instance methods versus, 219
namespaces, 219
precedence among, 219
extern aliases, 100
F
Fail method, 611
fat arrow notation (=>), 108, 115
fields, 103
clearing in disposal, 584
constructor and field initialization
order, 109
constructors and field initialization
order, 137
declaring multiple fields together, 104
emitting, 846-847
initialization, 104
properties versus, 114
readonly modifier, 104
static constructors and field initializa‐
tion order, 123
file access modifier, 145
file and directory operations, 723-733
catching filesystem events, 732
Directory class, 727
File class, 723-727
FileInfo and DirectoryInfo, 728
Path class, 729-730
querying volume information, 731
|

نمایه — صفحهٔ 1044

special folders, 730
File class
compression and encryption
attributes, 724
shortcut methods, 701
Unix file security, 727
Windows file security, 726
file compression, 720
file-scoped namespaces, 96
FileInfo class, 728
FileMode, 702
filenames, specifying, 701
FileSecurity class, 726
FileStream, 700-704
advanced features, 703
constructing, 700
specifying a FileMode, 702
specifying a filename, 701
FileSystemWatcher class, 732
filtering, 475-479
< and > string comparisons in EF
Core, 478
Distinct operator, 479
SQL LIKE comparisons in EF Core,
477
Take and Skip, 478
TakeWhile and SkipWhile, 479
Where, 476-479
WHERE x IN (…,…,…) in EF Core,
478
finalizer (~), 124
calling Dispose from, 590
GC and, 589-593
GC.ReRegisterForFinalize, 593
resurrection, 592-593
finally blocks, 198, 208
fine-grained concurrency, 657
First operator, 512
FirstNode function, 529
FirstOrDefault operator, 513
fixed keyword, 1000
fixed statement, 264
fixed-size buffers, 265
Flags attribute, 155
Flatten method, 965
floating-point types, 48
conversions, 50
special float and double values, 53
fluent syntax, 421-427
chaining query operators, 421-424
composing lambda expressions,
424-426
importance of extension methods, 423
joining in, 495
mixed-syntax queries, 431
natural ordering, 426
query syntax versus, 431
for loops, 91
foreach loops, 92
foreground threads, 642
form data, uploading, 754
format item, 296
formatting and parsing, 317-329
BitConverter, 333
composite formatting, 321
Convert class, 330-332
custom numeric format strings, 324
Date/Time format strings, 327-329
DateTimeFormatInfo, 320
DateTimeStyles, 329
enum format strings, 330
enums, 340-343
equality comparison, 344-355
format providers, 318-323
format providers and CultureInfo, 320
format string, 296
globalization, 334
Guid struct, 344
IFormatProvider and ICustomFormat‐
ter, 322
NumberFormatInfo, 320
NumberStyles, 325
numeric format strings, 323
parsing with format providers, 321
standard format strings and parsing
flags, 323-330
ToString and Parse methods, 318
type converters, 333
working with numbers, 335-339
XmlConvert, 332
FormatTransitionTime, 316
forward slash (/)
as division operator, 50
trailing in URIs, 746
forward slash, double (//), 31, 36
forward-only enumerators, 980-982
frameworks, 5
(همچنین رجوع کنید به runtimes)
|

فروش یا انتشار این ترجمه منوط به داشتن مجوز لازم از صاحب حقوق اثر است.

این مقاله بخشی از ترجمهٔ پیوستهٔ C# 12 in a Nutshell است و برای ناوبری مجموعه به مقالهٔ مادر متصل شده است.

امتیاز کاربران به این مقاله

☆☆☆☆☆

0 نفر امتیاز داده اند. میانگین: 0.0 از 5

 

0 نظر

نظر محترم شما در مورد مقاله های وب سایت برنامه نویسی و پایگاه داده

نظرات محترم شما در خدمات رسانی بهتر ما را یاری می نمایند. لطفا اگر مایل بودید یک نظر ما را مهمان فرمائید. آدرس ایمیل و وب سایت شما نمایش داده نخواهد شد.

0 / 500

اطلاعات تماس

  • آدرس:اصفهان-خیابان ام کلثوم غربی - بعد خیابان تخم چی - بیست متر بعد از پیتزا ننه شب - کوچه تعمیر گاه سمار زغالی - پلاک 354 - درب مشکی - طبقه هفتم
  • آدرس ایمیل:najafzade@gmail.com
  • وب سایت:http://www.a00b.com/
  • تلفن ثابت:(+98)9131253620
  • تلفن همراه:09131253620