关键字目录

A
AbsoluteLayout control, in Xamarin.Forms, 1320
abstract classes, 115–116
interfaces, 121
abstract methods, 115–116
abstract modifier, 120
Accept header, 943
Accept-Language header, 943
A ccep t LanguageHeade rR equ estC u lt u r e Pro vider
850
AcceptSocket method, 686
AcceptTcpClientAsync method, 689
access, for file stream, 641
access control entries (ACEs), 732
access control list (ACL), 732, 734
access control to resources, 732–735
access modifiers, 119

AccountController class, 1020
ACID, 753
AcrylicBrush, 1203–1205
action <t>, 222
action blocks, 601
action filters, in ASP.NET Core MVC, 1006–1007
action method of form, 946
activity IDs, tracing with, 906–908
adaptive user interfaces, 1185–1187
AddAuthentication method, 1028
AddAzureAdB2C method, 1028
AddBook method, 763
AddBooksAsync method, 779–780
AddCaching method, 954
AddChapterAsync method, 1057
AddConfiguration method, 915
AddConsole method, 913
AddDbContext method, 780
AddDocument method, 266
AddDocumentToPriorityNode method, 272–273
AddEntityFrameworkSqlServer method, 780
AddGreetingService extension method, 574
AddIdentity method, 1020
AddInstance method, 949
AddJsonFile method, 744, 914
AddLocalization method, 849

AddLogging method, 781
AddMvc method, 965
AddOrUpdate method, 301, 302
AddRange method, list<t> class, 259
AddRazorOptions method, 1031
AddRazorPageOptions method, 1031
AddScoped method, 1012
AddSeparators method, 163
AddSingleton method, 567, 949
AddSwaggerGen method, 1062, 1065
AddToOutput method, 422, 426
AddTransient method, 567, 949
AddUserSecrets method, 731
AddViewLocalization method, 854
AddWithValue method, 747
ADO.NET, 741–756
asynchronous data access, 752–753
commands, 747–752
database connections, 742–746
NuGet packages and namespaces, 742
sample database, 742
transactions with, 753–757
Aggregate method, 333
aggregate operators, 332–333
Aggregate query operator, 314
AlertDialog, 1303–1305

alias, for namespace, 61
AllocHGlobal method, 473
AllowAnonymous attribute, 1021
AllowUnsafeBlocks, 157
All query operator, 313
Amazon keys, hackers and, 730
ambient transactions, 762–764
nesting scopes with, 764–766
analytics, 896
with Visual Studio App Center, 915–919
Analytics APIs, 917
AnalyzeType method, 422
and method, 153, 288, 290
Android
app lifecycle, 1299
Architecture Xamarin with, 1292–1293
hosting Xamarin, 1314
navigation with, 1303
showing message, 1303–1305
Android Callable Wrapper (ACW), 1292
Android Foundation, 1297
Angular, 926
animations
easing functions, 1224–1231
keyframe, 1232
in XAML, 1222–1223

annotations
defining relationships with, 799–800
in EF Core, 773
with EventSource class, 902–903
and validation, 988–989
anonymous pipes, 661–663
anonymous types, 83–84
anycast, 683
Any query operator, 313
apartialmethod method, 104
API calls, 30
AppBarButton control, 1119, 1125
AppBarSeparator control, 1110
AppBarToggleButton control, 1119
AppendFormat method, 239, 240
appending strings to existing file, 638
Append method of stringbuilder, 240
application, building, 20
Application Configuration file, 955–956
reading, 956–957
ApplicationException class, 369
Application Insights, 33, 896, 916
application manifest, 1086–1087
Application Timeline, 526
application types, 29–33
Microsoft Azure, 32–33

SignalR, 32
Web API, 31
web applications, 31
WebHooks, 32
Windows Apps, 30
Xamarin, 30–31
ApplicationUser class, 1020
App Service plan, 1074
appsettings.json file, 955
ArgumentNullException, code to test, 352
ArgumentOutOfRangeException, 260
arranging windows, in Visual Studio, 512
ArrayList class, 130
ArrayList collection, 334
arrays, 297, 464–466, 470–471
ASCII, 644
AsEnumerable query operator, 314
asp-action attribute, 995–996
asp-action Tag Helper, 1017
AsParallel method, 336
asp-controller attribute, 995–996
asp-controller helper, 1017
asp-for attributes, 996–997
asp-for helper, 1017
ASP.NET Core
adding client-side content, 934–940

basics, 923–924
configuring with, 955–960
creating custom middleware, 952–953
CSS, 925
dependency injection, 948–951
in Docker container, 531–532
HTML, 925
localization with, 848–856
request and response, 940–951
resources from, 851–852
session state, 953–955
simple routing, 951–952
web project, 926–934
web technologies, 925
ASPNETCORE_ ENVIRONMENT environmental variable, 999
ASP.NET Core 1.0, 9
ASP.NET Core Integration Tests, 887–888

basics, 923–924
configuring with, 955–960
creating custom middleware, 952–953
CSS, 925
dependency injection, 948–951
in Docker container, 531–532
HTML, 925
localization with, 848–856
request and response, 940–951
resources from, 851–852
session state, 953–955
simple routing, 951–952
web project, 926–934
web technologies, 925
ASPNETCORE_ ENVIRONMENT environmental variable, 999
ASP.NET Core 1.0, 9
ASP.NET Core Integration Tests, 887–888


ASP.NET Core MVC


action filters, 1006–1007
authentication and authorization, 1019–1029
creating controllers, 967–971
creating data-driven application, 1007–1018
creating views, 972–985
defining routes, 965–967
Razor Pages, 1029–1038
receiving data from client, 985–989


action filters, 1006–1007
authentication and authorization, 1019–1029
creating controllers, 967–971
creating data-driven application, 1007–1018
creating views, 972–985
defining routes, 965–967
Razor Pages, 1029–1038
receiving data from client, 985–989

setting up services, 963–965
tag helpers, 995–1006
working with HTML helpers, 989–995
ASP.NET Core MVC application, starting, 532
ASP.NET Core MVC web application
creating with Azure AD B2D, 1026–1027
hosting applications with, 823
sections, 977–979
ASP.NET Core Web Application, template, 490
ASP.NET MVC, 924, 1040
ASP.NET Web API, 1040
ASP.NET web application, empty template, 931
ASP.NET Web Forms, 6, 9, 12, 924
AsReadOnly method, 264
assemblies, 540, 541–542
defining types, 422–423
Assembly class, 422
Assembly.ExportedTypes property, 425
Assembly.LoadFrom method, 422
assignment (=) operator, 40, 153
associativity, 161–163
AsSpan extension method, 253
AsStreamForRead method, 665–667
asymmetric algorithms, 718, 720
asynchronous data access
with ADO.NET, 752–753

with EF Core, 774–775
asynchronous get request, 670–672
asynchronous methods
in error handling, 403–406
handling exceptions with multiple asynchronous methods, 404
asynchronous programming, 8–9, 391–409
asynchronous pattern, 393–394
async main method, 396
calling an asynchronous method, 397–398
continuation with tasks, 399
converting asynchronous pattern, 402
creating tasks, 397
event-based asynchronous pattern, 394–395
foundation of, 396–402
handling exceptions with asynchronous methods, 403–404
importance of, 391–392
.NET history, 392–396
synchronization context, 399–400
synchronous call, 393
task-based asynchronous pattern (TAP), 395–396
using Awaiter, 398–399
ValueTasks, 401–402
async keyword, 8, 69, 301, 391, 395
with Universal Windows Platform (UWP), 405
async main method, 396
async service, creating for Web API, 1047–1049

atomicity of transactions, 753
attached properties in XAML, 1091, 1098–1100
attributes, 412–418
properties as, 1094
AttributeTargets, 414
AttributeUsage Attribute, 414
authentication, 714
in ASP.NET Core MVC, 1019–1029
of users, 1024
AuthMessageSender class, 1020
authorization, 714
in ASP.NET Core MVC, 1019–1029
Autofac container adapter, 582
auto-implemented properties, 80–81
Read-only properties, 82
AutoResetEvent, 620
AutoReverse Timeline property, 1224
AutoSuggestBox control, 1120
AutoSuggest control, 1286–1289
autos window, 521
Average method, 333
Average query operator, 314
Await, configuring, 406–407
await keyword, 8, 391, 400, 587, 627–630
Azure Active Directory, user authentication with, 1024–1029
Azure Active Directory B2C Tenant, creating, 1025–1026

Azure functions, 33, 1074–1079
creating, 1074–1075
running, 1078–1079

--------------------------

B
Back button, 1134–1135
backslash, 51
Barrier class, 622–625
base, 188
BaseType property, of Type class, 419
batching, 813
BeginForm HTML Helper method, 990
BeginGetResponse method, 402
BeginScope method, 909, 913
BeginTime Timeline property, 1224
BeginTransaction method, 755, 821
of SqlConnection, 754
big endian, 644
BigInteger struct, 168
binary files, reading and writing, 650–651
binary notation, 47
binary operators, 163–167
shifting bits, 165
signed and unsigned numbers, 165–167
BinaryReader class, 641, 651
binary values, 47–48

BinaryWriter class, 641
BindableBase class, 1123
BindableObject class, in Xamarin.Forms, 1317
binding, 809
compiled, 1265–1273
See also data binding
BindProperty attribute, 1035
BitArray class, 287, 288
bits, 287
BitVector32 class, 288, 290–292
Blend for Visual Studio, 481
block elements, 1275–1278
BlockingCollection<t> class, 298, 301–302
block scope, 441
BookChapter class, 1068
BookChapterClientService class, 1052
BookChaptersController, 1048
BookChaptersService class, 1047
BooksContext class, 1031
Boolean data type, 49
Boolean value, converting, 841
Border class, 1105, 1106
Border Gateway Protocol (BGP), 683
BounceEase function, 1225
Bower, 936
using client-side libraries with, 936–938

Bower Configuration File template, 936
boxing, 130, 171, 189
breakpoints, 29, 756
setting, 519
break statement, 54, 59
broadcast address, 683
BrotliStream class, 651
compressing files with, 653
browsers, capabilities, 943
brushes in XAML, 1196
AcrylicBrush, 1203–1205
ImageBrush, 1203
LinearGradientBrush, 1202–1203
RevealBrush, 1205–1206
SolidColorBrush, 1202
bubblesorter example, 222–224
BufferBlock, 602
buffered streams, 648
builders, 295–296
building code, 513
Build method, for web host, 931
BuildServiceProvider method, 563
Bundler and Minifier, 936
ButtonBase class, 1119
ButtonClick event, 917
Button control, 1119

in Xamarin.Forms, 1322
buttons, 1119–1120
replacing content, 1120
byte, 46


C


C#, 65–68
exception filter, 697
keywords, 68–69
syntax, 38
vs. XAML, 1091
C# 1.0, 5–6
C# 2, 6
C#3, 7–8
C#4, 8
C# 5, 8–9
C# 6, 9–10
C# 7, 10–11
C# exception filter, 697
C# programming guidelines, 68–73
fields, 73
naming conventions, 70–72
properties and methods, 72
usage conventions, 69
<c> XML tag, 64
cache service, adding, 954

CalculationInTask method, 623
CalculatorLib assembly, 426–427
Calculator markup extension, 1101–1102
CalendarDatePicker control, 1110, 1115
Calen darTypeToCalendar Info rmationConverte
class, 842
CalendarView control, 1110, 1111
Caller/Callee view, 529–530
caller information, 389
CallerWithAsync, 399
CallerWithAwaiter, 399
CallerWithContinuationTask, 399
calling, 91–92
CallSite, 433
cancellation, 337–338
cancellation framework, 598–600
CancellationToken parameter, 598
Canvas panel, 1145
CaptureElement class, 1105
CarouselPage, in Xamarin.Forms, 1318
case clauses, 54–56
case sensitivity, 38, 71
casing of names, 71
cast, 189
multiple, 189–192
Cast <TResult> query operator, 314

casting, 457
casts, 169, 183–189
catch blocks, 370
implementing, 372–375
setting breakpoints, 522
Cell class, in Xamarin.Forms, 1317
Chai, 936
ChangeFileProperties method, 637
ChangeTracker, 809
Chaos isolation level, 756
character data type, 49
characters, 52
CheckBox control, 1119
CheckBox HTML Helper method, 990
checked, 155
Checked operator, 155–156, 169
CheckNetIsolationLoopbackExempt command, 932
ChildActionExtensions class, 990
claims, 716–717
ClaimsPrincipal class, 715
classes, 76, 218
abstract, 115–116
casts between, 187–188
constructors of derived, 117–119
declaration, 39
mapping elements to, 1092–1093

members, 77–92
partial, 103–105
passed by reference, 97
sealed, 116–117
and structs, 76–77, 110
Class Library, 489
Class Library (Legacy Portable), 544
class view window, 509
CleanupAllSessions method, 692
CLI. See .NET Core Command line (CLI)
client
for named pipe, 661
receiving data from, in ASP.NET Core MVC, 985–989
for TCP, creating, 704–710
client-side content, in ASP.NET Core, 934–940
client-side libraries, using with Bower, 936–938
clock, 604–605
Close method, 450
cloud explorer, 511
CLR. See Common Language Runtime (CLR)
Cocoa, 1291
Cocoa Touch frameworks, 1291
<code> XML tag, 64
code-behind, for Razor Pages., 1036–1037
code bloat, with generics, 132
Coded UI Test Project, 489

template, 882
Code First Model, 771
history, 770
CodeLens, 503
code snippets, 28, 503
Cognitive Services, 33
ColdCallFileFormatException handler, 384, 386, 387
ColdCallFileReader class, 383–384
cold-calling, 382
collection interfaces, 256
collections, 255–286
concurrent, 297–298
immutable, 294–297
initializers, 258–259
iterate through, 58
performance, 284–285
pipelines for, 298
queue, 265
read-only, 264
searching for elements, 261–263
sets, 282–284
See also special collections
CollectionToStringConverter class, 1130
ColorPicker, 1110
ComboBox control, 1121
ComboBoxItem control, 1118

COM Callable Wrappers (CCW), 1292
CommandActions class, 692
CommandBar control, 1119, 1125
Command class, 1324
comments, 40, 63–65
commitable transactions, 759–761
CommittableTransaction class, Commit method, 761–762
CommittableTransaction object, 762
Common Language Runtime (CLR), 16
CommunicateWithClientUsingSocketAsync method, 707
compacting, by garbage collector, 445
Compare method, 236, 264
CompareOrdinal method, 236
comparing, 171–173
Comparison<t> delegate, 264
comparison operator (==), 153, 172–173
compiled binding, 1265–1273
compiled queries, 794
compile error, 81
Complete method, 763
component-oriented programming language, 343
Compose method, 349–350
CompositeTransform element, 1201
CompositionException class, 369
compressing files, 651–654
with BrotliStream, 653

DeflateStream, 652
zip files, 653–654
concatenation, 153, 236
Concat method, 236
concurrency token, 815
concurrent, 297
ConcurrentBag<t> class, 298
ConcurrentDictionary, 302
ConcurrentDictionary<tkey.tvalue>
ConcurrentQueue<t> class, 297
ConcurrentStack<t> class, 298
conditional compilation, 66, 514
conditional-expression operator (?:), 154–155
conditional statements, 52–56
ConfigurationBuilder class, 958
configuration data, protecting, 728
configuration files, 573–575
connection string in, 730, 744–745
ConfigurationSample class, 956
Configure method, 1044
ConfigureServices method, 932, 1052–1053, 1076
of Startup class, 1030–1031
ConfigureWarnings method, 793
configuring project properties, 26–27
ConnectAsync method, 687
Connection header, 943

connection pools, 745
connections, creating background task for, 1261–1262
connection string
in ADO.NET, 743–744
configuration file for, 730, 744–745
Connect method, 710
consistency of transactions, 753
Console class, 19, 38, 541
ConsoleMessage method, 550
Console.Writeline statement, 374
constants, 44, 77, 78
const keyword, 44, 78
const pattern, 363
constraint generics, 136–138
constraints, 146–147
route, 966–967
constructor injection, 562
constructors, 77, 88–92
calling, 90
constraints, 138
of derived classes, 117–119
initializer, 90, 118
for lists, 258
static, 91–92
for structs, 96
Consumption plan, 1074

container, in Docker, 531
ContainsKey method, 275, 1208
Contains method, 791
Contains query operator, 313
ContentControl class, 1104, 1118–1119
ContentDialog control, 1119
ContentPage, in Xamarin.Forms, 1318
ContentPresenter class, 1105
ContentResult class, 969
context, creating in EF Core, 773–774
continuation tasks, 594–595
ContinuedWith method, 399
Continue statement, 59
ContinueWith method, 594–595
contra-variance, 140, 142
Control class, 1104
ControllerContext property, of Controller class, 970
controller keyword, 966
controllers
creating in ASP.NET Core MVC, 967–971
for database access, 1012–1015
localization with, 853–856
for OData Services, 1071
passing data to views, 972–973
POCO (Plain Old CLR Objects), 970–971
returning partial views from, 981–982

controls for Windows apps
buttons, 1119–1120
content, 1118–1119
control-derived, 1109–1116
deferred loading, 1153–1155
flyouts, 1121
framework-derived UI elements, 1105–1109
items, 1120–1121
range, 1116–1118
ControlTemplate, 1212–1213
conventions
defining relationships with, 796
in EF Core, 773
conversion operators, 333–335
converting asynchronous pattern, 402
converting nullable types, 168
Convert.ToInt16 method, 186–187
Convert.ToInt32 method, 186–187, 375
CookieRequestCultureProvider, 850
cookies, 947–948
copy constructors, 176
copying streams, 646
CopyTo method, 236
CoreCLR repository, 13
CoreFX repository, 13
Count Length property, 288

Count method, 265, 269, 320, 332
of Stack<t> class, 269
Count query operator, 314
covariance, 140, 141–142
CPU Usage option, 528
CreateBooksService class, 1069
CreateClient method, 888
CreateCommand method, 747
CreateDefaultBuilder, 930–931
CreateHardLink method, 474–475, 476
CreateHeading method, 1005
CreateKeys method, 722–725
CreateMask method, 290
CreateMenu view, 985
Create method, 336
CreateSampleBooks method, 1070
CreateSelection method, 290
CreateWebSocketClient method, 888
cross-platform development, 1291
cross-site request forgery (XSRF), 738–739
CryptoStream class, 640
CSS (cascading style sheets), in ASP.NET Core, 925
CultureData class, 841, 842
CultureInfo class, 832, 833
CultureInfoClass interface, 242
CultureInvariant enumeration, 248

culture providers, 850
cultures, 832–833
sample UWP app, 836–843
sorting, 843–845
specific, neutral, and invarian, 833
CulturesViewModel class, 838
curly brackets ( { } ), escaping, 242–243
currency, vs.float, 185–186
Currency struct, 219
CurrentCulture property, 834
Current property, of Transaction class, 757
CurrentUICulture property, 834
custom attributes, 412–418
example, 416–418
getting details, 423
specifying parameters, 415
writing, 413–416
custom factories, 570
custom parameters, specifying optional parameters, 415
CustomProtocolCommand class, 695
CustomProtocolCommands class, 695
custom states
defining, 1237–1238
setting, 1237–1238
CustomTable method, 1003
custom Tag Helpers, 1001–1002

data access, 30
data access service, creating, 1060–1061
database
controller for access, 1012–1015
creating, 1009–1011
implementing access, 1031–1032
writing to for Web API, 1058–1061
database connections, with ADO.NET, 742–746
Database First, 770
database for EF Core, 771
BookSample application, 773
creating, 774–775
Database property, 774
deleting, 775
deleting records, 777–778
reading from, 776–777
updating records, 777
writing to, 775–776
database for Web API, 1069–1070
data binding, with Xamarin.Forms, 1323
data binding for Windows apps, 1121–1131
binding events to methods, 1125
binding simple objects, 1128–1129
change notification with INotifyPropertyChanged, 1122–1123
creating list of books, 1124

data templates and data template selector, 1126–1128
list binding, 1124–1125
value conversion, 1130–1131
data-driven application, creating in ASP.NET Core MVC,
1007–1018
data encryption, 717–728
data flow, 600–605
connecting blocks, 602–604
secure exchange, 722–725
data model for Web API, 1068
data parallelism, 584
Data property, 376
in BitVector32, 290
data protection, 714–717
implementing, 728–730
datasets, 742
DataTemplate, 1217–1218
for ListView control, 1219
data types
vs. reference types, 44–45
vs. value types, 44–45
date formatting, 834, 836–837
DatePicker control, 1110
dates, controls for selecting, 1111–1116
datetime format, 243–244
DateTimeFormatInfo class, 244

DaysOfWeek enum types, 101–102
DBBookChaptersService class, 1060–1061
DbConcurrencyException, 818
DbContext class, 773–774, 821
dbcontext command, 785
DbUpdateConcurrencyException, 818
DbUpdateException, 820
deadlocks, 585, 609–610
debugger symbols, 514
debugger visualizer, 519
debugging, 513–515
debugging applications, 29
debugging mode, breakpoints, 756
decimal data type, 48–49
declarative programming, 344
declaring, 217–218
methods, 84
variables, 39–40
declaring type, 421
deconstruction, 362
decrement operators, 154
decryption, 718
DefaultConnection connection string, 1009
default file extension, 645
default keyword, 136
default value generics, 136

#define, for preprocessor directives, 65–66
DefineConfiguration method, 574
DeflateStream class, 651, 652
DelayAsync function, 408
delegate inference, 218
delegates, 215, 216–229, 345–346
anonymous methods, 228–229
bubblesorter example, 222–224
declaring, 217–218
multicast, 225–228
simple example, 220–222
using, 218–220
DeleteAsync method, 1058
DeleteBookAsync method, 789
DeleteConfirmed method, 1014
DELETE HTTP request, 1045, 1046, 1058
DeleteMenuAsync method, 1014
DELETE statement (SQL), 748–749
deleting
database for EF Core, 775
files, 636
records in EF Core database, 777–778
dependencies, managing, 495
dependency injection, 559–582, 948–951
and context pooling, 818
defining service, 949

in EF Core, 778, 779–881
injecting service, 950
lifetime of services, 565–571
registering service, 949
using service without, 560–561
in views, 985
dependency injection container, 560, 1076
DependencyObject class, 1104
dependency properties in XAML, 1091
DependencyPropertyChanged event handle, 1096
DependentClone method, 761
of Transaction class, 757
dependent transactions, 761–762
deployments, self-contained, 23
Dequeue method, 265–266
derived classes, 188
constructors, 117–119
Design Patterns: Elements of Reusable Object-Oriented Software,
964
design view editor, 480
desktop mode, 1240
destructors, 78, 448–449, 451–452
Details method, 1013
Developer Services, 33
developer tools, 33–34
diagnostics, 895–896

dialogs, opening from view models, 1180–1181
dictionaries, 282
examples, 278–281
initializers, 276
key type, 276–278
lookups, 281–282
resource, 1209–1210
Dictionary <tkey> indexer, 281
difference, 453
digit separators, 47
Dimensions class, 92, 93
Directory class, 632, 633
DirectoryInfo class, 632, 633
DISampleLib library, 576
discretionary access control list (DACL), 732
Dispatcher property, in DependencyObject class, 407
DispatcherTimer, 604–605
DisplayAllDocuments method, 136
DisplayAllNodes method, 273
DisplayBits method, 164
DisplayNameFor HTML Helper, 1016
DisplayName method, 990
DisplayTree method, 339
DisplayTypeInfo method, 425
Dispose method, 384, 450, 570, 763
Distinct extension method, 329

Distinct query operator, 313
Divide method, 356–357
DllImport attribute, 475
DNS server, 682
do…while loop, 58
Docker, 530–536
creating Dockerfile, 532
running ASP.NET Core in Docker Container, 531–532
Docker compose, 535–536
Dockerfile, in Docker, 531
DocumentManager class, 266
new console project, 135
document object model (DOM), 926
Domain Name System (DNS) name, 681
DoPost method, 1077
dotnet build command, 20, 532
dotnet command, arguments, 958
dotnet ef database update command, 829
dotnet new command, 20–21
dotnet new razor command, 1030
dotnet pack command, 554
dotnet run command, 20–21, 586
dotnet sln add command, 546
dotnet test command, 867
dotnet user-secrets list command, 732
dot product, 177

double, 48, 442
DownloadString method, 394
DownloadStringTaskAsync method, 395
DpApiDataProtector class, 729
DriveInfo class, 632, 633–634
DropDownList method, 991–992
durability of transactions, 754
Duration Timeline property, 1224
DynamicClass, comment out references, 431
dynamic language extension, 426–429
DynamicObject, 433–434
dynamic programming, 411–412
dynamic type, 429–433
behind the scenes, 430–433
invoking members, 428–429
E
EasingFunctionModel class, 1225
easing functions, for animations, 1224–1231
EchoWithView method, 737
ECMAScript, 926
EditBook method, 738–739
editing configuration, 515
Editor control, in Xamarin.Forms, 1322
EditorExtensions class, 993–994
EF class, Functions property, 795

ElementAtOrDefault query operator, 314
ElementAt query operator, 314
Element class, in Xamarin.Forms, 1317
elements
creating with Tag Helpers, 1002, 1094
removing, 260
Ellipse class, 1198
#else, for preprocessor directives, 66
else statement, 52–53
EmbeddedResource element, 846
Empty generation operator, 335
Empty query operator, 314
encapsulation, 109
encoding, 735–737
web, 735–739
web request and response, 945–946
Encoding class, 645, 721
EndGetResponse method, 402
endianness, 644
#endif, for preprocessor directives, 66
EndOfStreamException class, 369
#endregion, preprocessing directives, 66
Enqueue method, 265, 266
EnsureCreated method, 1060, 1069
EnsureDeletedAsync method, 775
EnsureSuccessStatusCode method, 1051

Entity Data Model (EDM), mapping .NET classes to, 1070
EntityEntry class, 798
Entity Framework, history, 770–771
Entity Framework Core
basics, 771–779
batching, 813
conflict handling, 813–818
context pooling, 818
conventions, annotations, and fluent API, 773
creating context, 773–774
creating database, 774–775
for creating database, 1009
creating model, 773
deleting records, 777–778
deleting the database, 775
dependency injection, 779–781
logging, 778–779
object tracking, 810–811
reading from database, 776–777
saving data, 808–813
unit testing with, 880–882
updating records, 777
writing to database, 775–776
Entity Framework Core 1.0, 30
Entity Framework Core migrations, 822–829
applying programmatically, 828

creating, 825–828
preparing project file, 822–823
Entity Framework Core model creation, 781–790
creating relation, 781–782
data annotations, 782–783
Fluent API, 783–784
mapping to fields, 786–787
scaffolding from database, 785–786
self-contained type configuration, 784–785
shadow properties, 788–790
Entity Framework Core queries, 790–795
client and server evaluation, 792–793
compiled queries, 794
eagerly loading related data, 799
explicitly loading related data, 797–798
global query filters, 794–795
raw SQL queries, 793–794
relationships using annotations, 799–800
Entity Framework Core relationships, 795–808
owned entities, 806–808
table per hierarchy with conventions, 802–804
table splitting, 805–806
EntityTypeBuilder, 783–784
Entries method, of ChangeTracker, 809
EntryCell class, 1325
Enumerable classes, 310

enumerating files, 639
Enum.GetNames method, 103
Enum.TryParse<t>() method, 103
enum types, 92, 101–103
environment, configurations based on, 960
Environment class, 635
environment Tag Helpers, 999–1000
environment variables, 958
equality, 171–173
Equals, overriding, 179
Equals method, 106, 261, 279
static version, 172
virtual, 172
#error, for preprocessor directives?, 66
error CS0136, 43
error handling, 403–406
Error List window, 28
errors, 367–368, 896
getting information about, 389
from invalid hostname, 912
from race conditions and deadlocks, 585
escape sequences, 248–249
for characters, 49
ETW channels, 897
ETW keywords, 897
ETW manifest, 897

ETW opcodes, 897
ETW provider, 897
ETW tasks, 897
EventAggregator, 1192
event-based asynchronous pattern, 391, 394–395
EventBasedAsynPattern method, 394
event binding, 1267
eventhandler <carinfoeventargs> delegate, 233
eventhandler<t> delegate, 232
event level, 897
event listener, 233–234
event manifest schema, 903–906
event method, 897
event publisher, 231–233
events, 77, 231–234, 620–622
messaging using, 1191–1193
EventSource class, 897–899
annotations with, 902–903
creating event manifest schema, 903–906
deriving from, 900–902
EventSource tracing, 896–908
Event Tracing for Windows (ETW), 896, 897
Event Viewer, 896
<example> XML tag, 64
Except extension method, 329
<exception> XML tag, 64

exception classes, 368–369
user-defined, 382–388
exception filters, 377
exception handling, 368, 372
when not handled, 381
exceptions, 896
catching, 370–381
catching from other code, 375–376
expecting with MSTest, 869
re-throwing, 377–381
throwing in HttpClient class, 672
Except query operator, 313
executable, generating, 513
ExecuteNonQuery method, 747, 748–749
ExecuteReader method, 747, 749–751
ExecuteScalarAsync merhod, 749–751, 755
ExecuteScalar method, 747
execution states, of Window apps, 1240–1241
Exists method, 261
Exit method, 615
ExpandoObject, 435–437
ExplicitCapture enumerated, 248
explicit cast operator, 183
explicit conversions, 169
explicit transactions, 821–822
expression-bodied members, 346
Download from finelybook www.finelybook.com
2248
expression-bodied methods, 84
expression-bodied properties, 82
expression-bodied property accessor, 80
expression bodies, 90
extension methods, 105–106, 362
external dependencies, for testing, 869–872
extern modifier, 120
extraction, character, 236
F
F# programming language, 344
F1Addresses class, 870
FeedSampleChapters method, 1076
fetch API, 982
fields, 42, 73, 77, 78
read-only, 78–79
scope clashes, 43–44
FileAccess enumeration, 642
File class, 632, 633, 636–637
ReadAllText, 638
WriteAllText, 638
file extension, default, 645
FileInfo class, 632, 633, 636–637
FileMode enumeration, 642
files
creating, 635–636

Windows runtime with, 663–667
FileSecurity class, 733
FileShare enumeration, 642
file stream, creating, 642–643
FileStream class, 384, 640, 641, 733
constructing, 641
FileSystemAccessRule class, 734
FileSystemInfo class, 632
file system management, 632–638
compressing files, 651–654
drive information, 633–634
enumerating files, 639
file and folder creation, 635–636
file properties, 636–637
memory mapped file, 655–659
monitoring changes, 654–655
Path class, 634–635
streams, 640–648
FillBehavior Timeline property, 1224
FillData method, 623
filters
for logging, 913–914
when adding rethrow exceptions, 380–381
Finalize method, 106–107
finalizers, 448–449
Finally blocks, 370
Download from finelybook www.finelybook.com
2250
FindIndex method, 261, 263
Find method, 262
of IBookChaptersService, 1077
FirstOrDefault query operator, 314
First query operator, 314
Fixed keyword, 460
FlipView control, 1121
FlipViewItem control, 1118
float, vs. currency, 185–186
floating-point data type, 48
Fluent API, 783–784
in EF Core, 773
for relationships, 800–802
table per hierarchy with, 804–805
Fluent Design, 30
FlushAsync method, 687
FlyoutBase class, 1104, 1121
flyouts, 1116, 1121
folders, 632
creating, 635–636
fonts, 1274–1275
foreach statement, 58, 789
for Razor code, 973
for loop, 56–57
FormatException class, 372
Format method, 236, 241
Download from finelybook www.finelybook.com
2251
FormatTableString class, 241–242
formatting expressions, 236
form data, for web request and response, 946–947
forms, Tag Helpers for, 998–999
Frame control, 1118, 1132, 1182
framework, 1193
FrameworkElement class, 1104
FrameworkTemplate class, 1212
FromResult method, 596, 1047
FullName property, of Type class, 419
fully qualified name, 60
func <t>, 222
functional programming, 343–366
extension methods, 347–348
local functions, 350–354
Function as a Service (FaaS), 1074
functions, 345–346
structs, 93
Functions as a Service (FaaS), 33
futures, 593–594
G
garbage collector (GC), 6, 440, 444–447, 456
reference types, 100
and unamanged resources, 448
GC balancing, 446

GCSettings.LatencyMode property, 446
GenerateManifest method, 903
generation 0 section, 445
generation operators, 335
generic interfaces, 141–142
defining, 139–142
generic methods, 145–148
with constraints, 146–147
with delegates, 147
example, 145–146
specialization, 147–148
generics, 6, 129–49, 365–366
binary code reuse, 131
creating classes, 132–135
performance, 130–131
structs, 143–145
type safety, 131
geometry elements in XAML, 1196, 1198–1200
Gesture class, 885
GetAccessControl method, 733
get accessor, 80, 81, 182, 346
GetAccessRules method, 733
GetAllAsync method, 1051
GetAllXmlAsync method, 1055
GetAsync method, 672, 675
Get Awaiter method, 398
Download from finelybook www.finelybook.com
2253
GetBitsFormat method, 288
GetBookings method, 1112
GetCalculator method, 427, 428
GetChildContentAsync method, 1001
GetConnectionString method, 956
GetConstructorChampions method, 308
GetCurrencyUnit method, 219
GetCustomAttributes method, of Attribute class, 423
GetData method, of Container class, 471
GetDateTime method, 750
GetDeferral method, 1247
GetDocument method, 273
GetEnumerator method, 132
GetGroupNames method, 252
GetHashCode method, 106, 276–277
overriding, 179
GetHeaderInfo method, 680
GetHostEntryAsync method, 701
GetHtmlContent method, 680
GET HTTP method, 687, 1046, 1063
GetInfrastructure extension method, 778
GetInternalAsync method, 1051
GetJson method, 948
Get method, 288
GetMethod method, 419
GetNavigationStateAsync method, 1243
Download from finelybook www.finelybook.com
2254
GetNumber method, 565, 467–468
GetRandomFileName method, 635
GetReadonlyNumber method, 469
get request, asynchronous, 670–672
GetRequestEnumerator method, 889
GetRequestInfo method, 680
GetRequestInformation method, 940–941
GetRequiredService method, 564, 1076
GetSampleBooks method, 1124
GetSection method, 956
GetService<t> method, 564
GetService method, 570, 780
GetSessionHeader method, 698
GetSomeDataAsync method, 597
GetStream method, 687
of TopClient, 690
GetStringAsync method, 674
GetTempFileName method, 635
GetType method, 107, 418
GetWordCount method, 105
Getxxx methods, for session state, 954
global assembly code, 540
globalization, 832
global query filters, 794–795
Google Chrome, request header, 942–943
GoTo statement, 55, 59
Download from finelybook www.finelybook.com

GoToState method, of VisualStateManager class, 1238
GreetingAsync method, 400
GreetingService class, 565
GreetingValueTaskAsync method, 401
Grid control, in Xamarin.Forms, 1320
Grid panel, 1145–1146
GridView control, 1121
GridViewItem control, 1118
Groupay query operator, 313
grouping, 319–320
characters, 251–253
GroupItem control, 1118
group join, 325–329
GroupJoin query operator, 313
GZipStream class, 651
H
hamburger button, 1139
HandleAll method, 378
HandleAndRethrow, 378
HandleAndThrowAgain, 378
HandleAndThrowWithInnerException method, 378, 379
HandleOneError method, 403
HandleWithFilter, 378
HasColumnType method, 815
HasDefaultSchema method, 783
Download from finelybook www.finelybook.com
2256
HasDiscriminator method, 805
hash algorithms, 719
HashDocument method, 726
hashing, using RSA, 725–728
HashSet<t> collection, 282
performance, 285
hash tables, 276–282
HasOne method, 784
HasValue method, 100, 805
heap, 440, 443
Heijsberg, Anders, 5
“Hello World!” application, 19, 38–39
helper methods
helper methods with, 990–991
with model data, 990–991
helpers, strongly typed, 992–993
HelpLink property, 376
hex notation, 47
hidden files, and Solution Explorer, 493
hiding methods, 113–114
higher-order functions, 345–346
Hollywood principle, 562
HomeController class, 560, 950, 967
calling, 950–951
with dependency injection, 561–563
Invoke method, 951
Download from finelybook www.finelybook.com
2257
HResult property, 376
HTML, in ASP.NET Core, 925
HTML attributes, defining, 991
HTMLEncoder class, 736
encoding with, 945
HTMLExtensions class, 934
HTML helpers
in ASP.NET Core MVC, 989–995
templates for, 994–995
HTML select element, 991–992
Html.TextBoxFor method, 993
HTTP
creating client, 686–688
creating server, 678–681
request, XAML code for, 676
request and response, 940–941
request headers, 942–944
status codes, 1047
HttpClient class, 670–678, 888, 1047, 1196
accessing content, 674
HttpMessageHandler for customizing requests, 674–675
passing headers, 672–674
throwing exceptions, 672
Windows Runtime and, 675–678
HttpClientService class, 1050–1051
HttpContext property, 971

of Controller class, 970
HttpMessageHandler, for customizing requests, 674–675
HttpMessageInvoker class, 670
HTTP POST request, request to send, 890, 946–947
HttpRequest
Body property, 1077
XAML code for, 676
HttpRequestMessage, creating with SendAsync, 675–676
HttpResponseMessage, 1051
HttpTrigger attribute, 1077
HttpWebRequest class, 402
Hub control, 1110
for navigation in Windows apps, 1135–1138
HubSection control, 1110
Hungarian notation, 70, 122
HyperlinkButton control, 1119, 1120
I
IaaS. See Infrastructure as a Service (IaaS)
IActionInvoker interface, 1006
IActionResult interface, 968
IApplicationBuilder interface, 932, 952
IAsyncEnumerable interface, 789
IAsyncOperation interface, 408
IBackgroundTask interface, 1261
IBookChaptersService interface, 1041–1042, 1076
Download from finelybook www.finelybook.com
2259
Find method of, 1077
IChampionsLoader interface, 870, 872
ICollection<t> interface, 256
IComparer<t> interface, 256
IConfiguration interface, 744, 956
IContentTypeProvider interface, 664
IController interface, 1006
IDataProtector interface, 729
IDbContextTransaction interface, 821
IdentityDbContext<TUser> class, 1019
identity system, starting up, 1020
IdentityUser class, 1019
IDisposable interface, 449–450, 451–452, 670
IDistributedCache interface, 954
IEnumerable<t> interface, 134, 256
IEqualityComparer<t> interface, 256
IEquatable<t> interface, 95, 279
#if, for preprocessor directives, 66
IFormatProvider interface, 835–836
IFormatProvider method, 242
IFormattable interface, 244
if statement, 52–54
IgnoreCase enumeration, 248
IgnorePatternWhiteSpace enumeration, 248
IGreetingService interface, 563
IGrouping interface, 319
Download from finelybook www.finelybook.com
2260
IHostingEnvironment interface, 932, 960, 999, 1001
IIdentity interface, 714
iindex<t> interface, 141
IIS Express, 926
IL. See Intermediate Language (IL)
IL code, 16
ildam tool, 431
ilist<t> interface, 256
ILoggerFactory interface, 778
ILogger interface, logging with, 909–915
ILoggingBuilder interface, 911–912
ilookup<tkey.tvalue> interface
image, in Docker, 531
ImageBrush, 1203
ImageCell class, 1325
Image control, 1105
IMenuCardsService interface, 1011
IMessageService, 576
immediate window, 522
ImmutableArray<t> collection types, 296
immutable arrays, 297
immutable collections, 294–297
types and interfaces, 296–297
ImmutableDictionary<tkey>, 296
immutablehashset<t> collection types, 297
immutablelist<t> collection types, 296
Download from finelybook www.finelybook.com
2261
immutablequeue<t> collection types, 296
ImmutableSortedDictionary<tkey>, 296
ImmutableSortedSet<t> collection types, 297
ImmutableStack<t> collection types, collection types, 296
immutable types, 83
IModelBinder interface, 988, 1006
implementation, 110–111
implicit cast operator, 183
implicit conversions, 167–168
implicit transactions, 819–820
IMvcBuilder interface., 854
<include> XML tag, 64
increment, 154
indexers, 77
Index method, 972, 1013
IndexOfAny method, 237
IndexOf method, 236, 261, 474
index operator, 158–159
implementing custom, 181–183
IndexOutOfRangeException, 374–375
Index view, 1016
InfoMessage event, 745
Infrastructure as a Service (IaaS), 32
inheritance, 95, 109, 110–111, 138–139
InitializeComponent method, 1092
initializing variables, 40–41

InitListener method, 908
injecting localization services, 849
InkCanvas control, 1105, 1282
in keyword, 142
inking, 1281–1286
InkToolBar, 1283
inline code, using with page model, 1035
inline elements, 1275–1278
InlinePageModel class, 1035
inlining, 81
InnerException property, 376
inner product, 177
INotifyPropertyChanged interface, 390, 1094
change notification with, 1122–1123
in paremeters, 99–100
InputExtensions class, 989
input string, 247
input Tag Helpers, 997–998
InputView class, in Xamarin.Forms, 1317
Insert method, 237, 240, 260
INSERT statement (SQL), 748–749
inspecting code, runtime, 411–412
installing Visual Studio 2017, 24
instances, reflection creating, 426
int, 46, 47, 100
integer cast, 190
Download from finelybook www.finelybook.com
2263
integer types, 46, 456
integrated debugger, in Visual Studio, 481
IntelliSense, 502
list box, 481
IntelliTrace, 526
interfaces, 121–126
defining and implementing, 122–124
inheritance, 110, 124–126
Interlocked class, 615
Intermediate Language (IL), 5
internal modifier, 119
Internet Assigned Numbers Authority (IANA), 686
Internet Explorer (IE), 943
request header, 942
Internet Protocol version 4 (IPv4), 682
interpolation, string, 241–245
Intersect extension method, 329
Intersect query operator, 313
INumberService interface, 565–566
InvalidCastException, 171
invalidoperationexception, 144
invariant culture, 833
invariant method, 242
inversion of control design principle, 562
InvokeAsync method, 983
Invoke method, of HomeController, 951
Download from finelybook www.finelybook.com
2264
IOException class, 369
IOptions interface, 572
iOS
app structure, 1305–1306
architecture Xamarin with, 1293
controller, 1308–1309
hosting Xamarin, 1315
showing message, 1310–1311
storyboard, 1306–1308
iOS Foundation, 1305–1312
IOutputStream interface, 664
IP address, 681–682
IPAddress class, 683
IPEndPoint, 701
IPHostEntry class, 683
IPrincipal interface, 714
IPv6, 681
multicasting in, 683
IQueryCollection, 945
IRandomAccessStream interface, 664
IResourceReader interface, 847
IS, 126–127
ISampleService interface, 949
is and as, checked and unchecked, 155–156
IsCancellationRequested property, 598
IsDeleted shadow property, 788, 789
Download from finelybook www.finelybook.com
2265
_isDisposed member variable, 452
IsDocumentAvailable property, 135, 266
IsEnabled method, 909
IServiceCollection services, 950
ISet<t> interface, 256
IsInRole method, 715
IsNeutralCulture property, 841
isolation, of transactions, 754, 756
IsolationLevel property, of Transaction class, 757
is operator, 156, 363
ISourceBlock interface, 601
IsSet<t> interface, 282
IsSubsetOf methods, 283
IsSupersetOf method, 283
IStringLocalizer interface, 854
ITargetBlock interface, 601
ItemContainerStyle, 1219–1220
Item method, 288, 290
ItemsControl class, 1104, 1120
transitions for, 1234–1235
ItemsPanelTemplate, 1212
ItemsPresenter class, 1105
ItemsStackPanel, horizontal or vertical, 1220–1221
ItemsView class, in Xamarin.Forms, 1317
IValueConverter interface, 842, 1130
IViewComponentHelper, 983
Download from finelybook www.finelybook.com
2266
IWebHostBuilder, 931
J
Jasmine, 936
JavaScript, 925–926
libraries, 499, 936
JIT compiler, 16, 81
join, 324–325
join clause, 322–324
Join method, 237
JoinMulticastGroup method, 703
Join query operator, 313
jQuery, 926
JScript, 926
JSON, in web request and response, 948
JsonConvert class, 948
Json method, 969
jump statements, 58–59
K
Karma, 936
Kernighan, Brian, The C Programming Language, 19
Kestrel server, 928–929
starting, 22
keyframe animations, 1232
Key property, 319
Download from finelybook www.finelybook.com
2267
keywords, 39, 72
Keywords class, 902–903
L
Label control, in Xamarin.Forms, 1322
label for goto, 59
LabelHelper method, 996
Label HTML Helper method, 990
label Tag Helpers, 996–997
lambda expressions, 229–231, 263, 317, 338
closure, 230–231
code to declare, 350
mutliple code lines, 230
parameters, 229
lambda operator, 84
Language Integrated Query. See also LINQ (Language Integrated
Query)
language projection, 1084
languages, 834
language specifications, 70
large object heap, 446
LastIndexOfAny method, 237
LastIndexOf method, 237
LastOrDefault query operator, 314
Last query operator, 314
LastUpdated shadow property, 788
LaunchSettings.json file, 959

Layout class, in Xamarin.Forms, 1317
layout for web pages, 975
layout panels in Windows apps, 1144–1155
adaptive triggers, 1150–1152
Canvas, 1145
deferred loading, 1153–1155
Grid, 1145–1146
RelativePanel, 1149
StackPanel, 1144
VariableSizedWrapGrid, 1146–1148
XAML views, 1153
lazy loading, 770
left associativity, 162
left outer join, 324–325
legacy applications, maintaining, 12
libaries, referencing projects, 546
libraries, 539–541
.NET Framework libraries, 549–552
creating, 543–552
NuGet sources, 548–549
referencing NuGet packages, 547
scripting, 926
solution files, 546
lifetime for apps, 1240
lifetime of services, 565–571
#line, preprocessing directives, 67–68
Download from finelybook www.finelybook.com
2269
LinearGradientBrush, 1202–1203, 1208
line breaks, string literals, 52
Line class, 1198
LinkedList<t> collection, performance, 285
linkedlistnode class, 132
linked lists, 270–274, 360
linking, 513
LINQ (Language Integrated Query), 7, 297, 305–341, 360–361
expression trees, 338–340
extension in methods, 106
extension methods, 309–311
lists and entities, 306–308
providers, 340
sample application, 308–309
LINQ standard query operators, 313–335
aggregate operators, 332–333
compound form, 316–317
conversion operators, 333–335
filtering, 314–315
filter with index, 315–316
generation operators, 335
grouping, 319–320
grouping with, 320–322
group join, 325–329
inner join, 322–324
join, 324–325, 325–329
Download from finelybook www.finelybook.com
2270
left outer join, 324–325
nested objects, 320–324
partitioning, 331–332
set operations, 329–330
sorting, 317–318
type filtering, 316
variables within query, 320
Zip method, 330–331
LINQ to SQL, 770
Linux, 51
setup, 18
List<t> class, 131, 257, 264
List<t> collection, 255
performance, 285
List <t> collection, 344
<list> XML tag, 64
ListActivity base class, 1302
list binding, 1124–1125
ListBox control, 1121
ListBoxItem control, 1118
ListBox method, 991–992
listeners
creating custom, for tracing, 907–908
for sockets, 704–706
list items, using actions in, 1188–1191
lists, 263–264
Download from finelybook www.finelybook.com
2271
accessing elements, 260
adding elements, 259
creating, 258, 991–992
inserting elements, 260
removing elements, 260–261
sorting, 263–264
in Xamarin.Forms, 1301–1303
ListView control, 1121, 1124–1125
DataTemplate for, 1219
styling, 1217–1218
template for, 1221–1222
in Xamarin.Forms, 1322, 1324
ListViewItem control, 1118
literals, 50
little endian, 644
live unit testing, 878–880
live visual tree, 521
LoadChampions method, 870
LoadIntoBufferAsync method, 674
Load method, 422
LoadTempSessionAsync method, 1247
local functions, 350–354
defining, 350
with yield statement, 351–353
localhost
accessing, 680
Download from finelybook www.finelybook.com
2272
enabling, 932
localization, 831–861
with controllers and views, 853–856
culture providers, 850
global markets, 831–832
ILogger without dependency injection, 915
with Multilingual App Toolkit, 859–860
resources, 845–847
System.Globalization namespace, 832–845
with Universal Windows Platform (UWP), 857–861
localization with ASP.NET Core, 848–856
injecting services, 849
registering services, 848–849
locals window, 521
local variables, 42, 43–44
scope clashes, 42
locks, 758
with await, 627–630
Interlocked class, 615
Monitor class, 615–616
Mutex (mutual exclusion) class, 617–618
ReaderWriterLockSlim class, 625–627
semaphore, 618–619
SpinLock, 616
WaitHandle class, 617
lock statement, 610–614
Download from finelybook www.finelybook.com
2273
LogBarrierInformation method, 623
LogError extension method, 911
log file, tracerpt, for reading, 899–900
LoggerExtensions class, 910–911
logging, 896
configuring, 914–915
configuring providers, 911–912
in EF Core, 778–779
filters, 913–914
with ILogger interface, 909–915
scopes for, 912–913
LogInformation class, 911
login of users, setup, 1022–1023
logman, for tracing, 899
Log method, 389, 909
for thread and task, 586
long, 46, 47
long-running thread, 593
LookUpWhatsNew assembly, 424–426
loopback address, 683
loops, 56–58
with Parallel.ForEach method, 590
with Parallel.For method, 585–587
lower kebab casing., 984
LTS (Long Time Support), 4
Download from finelybook www.finelybook.com
2274
M
Mac, 34
machine.config file, 955
Main method, 19, 39, 62
async modifier, 396
MainPage
in Windows apps, 1089–1090
in XAML, 1177
make, 513
managed heap, 44, 442, 472
managed type, 456
ManualResetEventSlim, 620
Map method, 951
maps, 276–282
MapWhen method, 951
Markdown, 1001
MarkdownTagHelper, 1001, 1002
markup extensions in XAML, 1091, 1100–1101
custom, 1101–1102
Marshal class, 473
MasterDetailPage, in Xamarin.Forms, 1318
matches static method, 247
MathOperations class, 220
mathsample, 85
MatrixTransform class, 1202
MaxCapacity property of stringbuilder, 240
Download from finelybook www.finelybook.com
2275
Max method, 333
Max query operator, 314
MemberwiseClone method, 107
memory, 440, 453
for constructing a string, 238
management under the hood, 440–447
memory mapped file, 655–659
MenuCardsContext, 1008
MenuCardsService class, 1011
Menu class, 969
MenuFlyout control, 1121
MergeAttributes method, 1004
merging, 336
message, showing in Android, 1303–1305
Message class, 553
MessageDialog class, 578
Message property, 376
Message Queuing, 7
Messages.resw file, 858
messaging using events, 1191–1193
meta-characters, 248–249
metadata, creating with OpenAPI or Swagger, 1061–1067
MetadataProvider property, of Controller class, 970
method definitions, formatting, 39
method invoking, using reflection, 428
methods, 77, 84–88

abstract, 115–116
arguments, 86–87
calling base versions, 115
extension, 105–106
hiding, 113–114
invoking, 84–85
named, 86
named arguments, 86
optional, 86–87
optional arguments, 86–87
overloading, 85–86
overriding, 112
partial, 104
returning tasks from, 596
sealed, 116–117
variable number of arguments, 87–88
virtual, 111–113
method signature, 357
Microsoft
help, 481
user issues, 916
Microsoft.AppCenter.Analytics NuGet package, 916
Microsoft.AspNetCore.DataProtection namespace, 729
Microsoft.AspNetCore.Mvc.Core NuGet package, 1040
Microsoft.AspNetCore.Mvc.ViewFeatures NuGet package, 1040
Microsoft.AspNetCore.OData package, 1068
Download from finelybook www.finelybook.com
2277
Microsoft.AspNet.Session NuGet package, 953
Microsoft Azure, 32
Microsoft Edge, 943
Microsoft.EntityFrameworkCore.Design package, 785
Microsoft.EntityFrameworkCore.SqlServer package, 1059
Microsoft.Extensions.Configuration NuGet package, 914, 1316
Microsoft.Extensions.DependencyInjection NuGet package, 581,
1316
Microsoft Translator, 859
middleware
in ASP.NET Core, 952–953
session state as, 953–954
Middleware Class template, 952
migrations, 770
process, 1010
See also Entity Framework Core migrations
minifying, 938
Min method, 333
Min query operator, 314
mode, for file stream, 641
model binder, 987–988, 1006
ModelBinderFactory property, of Controller class, 970
model binding, 1014
Model First, 770
model keyword, 974
models
Download from finelybook www.finelybook.com
2278
to create strongly typed views, 974–975
creating Windows app services, 1260
Models directory, 1008
ModelState property, of Controller class, 970
Model-View-Controller (MVC) pattern, 8, 31, 924
modifiers, 119–120
ModifyAccessControl method, 734
modulus (%) operator, 153
Monitor class, 615
Mono Callable Wrapper (MCW), 1292
Mono framework, 13
moving files, 636
MSBuild command, 513
MSBuild project, 513
MSTest, 864
expecting exceptions with, 869
UI testing with, 864–872
multicasting, 225–228, 701, 703
in IPv6, 683
multilevel inheritance, 110
multiline comments, 38, 63
Multiline enumeration, 248
Multilingual App Toolkit, 857
localization with, 859–860
multiple asynchronous methods, 400–401
MultipleAsyncMethods method, 400
Download from finelybook www.finelybook.com
2279
multiple inheritance, 110
multiplying vector by a scalar, 177
multi-stage docker builds, 535
mutable type, 83
Mutex (mutual exclusion) class, 617–618
MVC. See Model-View Controller (MVC) pattern
MVVM Light, 1193
N
named pipes, 659–661
creating client, 661
creating server, 660–661
Name property, of Type class, 419
names, 72
guidelines for generics, 132
of operator, 158
for tuples, 355
namespace convention, 61
Namespace property, of Type class, 419
namespaces, 6, 15–16, 17, 38, 59–61, 71–72
aliases, 61
alias qualifier, 61
importing with multiple views, 985
nesting, 60
using directive, 60–61
name styles, 71
Download from finelybook www.finelybook.com
2280
naming guidelines, 132
native heap, 473
navigation
with Android, 1303
in Xamarin.Forms, 1319–1320
NavigationEntry class, 798
navigation in Windows apps, 729, 1131–1143
back button, 1134–1135
Hub command, 1110, 1135–1138
to initial page, 1131–1132
NavigationView, 1139–1143
overriding page class navigation, 1133
between pages, 1133–1134
Pivot control, 1120, 1134–1135
NavigationPage class, 1132
in Xamarin.Forms, 1318
NavigationView control, 1139–1143, 1177
nested objects, grouping with, 320–322
nested partials, 104
nesting, 57
nesting scopes, with ambient transactions, 764–766
.NET, choosing technologies, 11–12
.NET 2, 6
.NET 3, 7
.NET 3.5, 7–8
.NET 4, 8
Download from finelybook www.finelybook.com
2281
.NET client, creating for Web API, 1049–1058
.NET Compiler Platform, 9, 481
.NET Core, 9, 12, 13
.NET as open source code, 4
.NET Core 1.0, 9–10
.NET Core 1.1, 4
.NET Core 2.0, 4, 10–11
.NET Core applications, referencing .NET Framework assemblies,
551
.NET Core CLI, 18–23
creating application, 19–20
creating web application, 21–22
environment setup, 18
publishing application, 22–23
running application, 20–21
Visual Studio 2017, 26
.NET Core Command line (CLI), 13
.NET Core Console application
configuration, 516
hosting, 824
.NET Core DI container, 563–565
.NET Core project
configuration properties, 517–518
templates, 489–491
.NET Framework, 12, 13
usage guidelines, 70
Download from finelybook www.finelybook.com
2282
.NET history, reviewing, 4–15
.NET Portability Analyzer, 10, 551–552
.NET Standard, 10, 14, 544–545
.NET Standard Library, 549, 576
creating, 545
.NET standard templates, 491
.NET terms, 12–13
.NET types
data, 46
mapping Windows Runtine types to, 665–667
networking, 670–710
HttpClient class, 670–678
sockets, 704–710
TCP, 686–698
UDP, 698–704
URIs, 682–685
utility classes, 681–682
WebListener class, 678–681
NetworkRequestSampleAsync method, 898
NetworkRequestSample method, 901
NetworkStream class, 707
using with sockets, 707
neutral culture, 833
new keyword, 41, 45, 76, 114
new operator, 94, 120, 259
new project, in Visual Studio 2017, 25
Download from finelybook www.finelybook.com
2283
New Project dialog, 485–487, 488
New Solution Explorer View, 495
Non-nullable types converted to nullable types, 144
nor method, 288
NotImplementationException, 116
not method, 288, 290
NoTracking configuration, 811
npm (Node Package Manager), 936, 938
NTFS file system, 664
NuGet package, 391
NuGet package creation, 554–557
with Command Line, 554
supporting multiple platforms, 554–556
with Visual Studio, 556
NuGet Package Manager, 556
NuGet packages, 14–15, 498, 540
with ADO.NET, 742
referencing, 547
NuGet sources, 548–549
null, 45
nullable<t> generic structs, 143
nullable types, 100, 159–160
null coalescing operator, 160
null-conditional operator, 160–161
null generics types, 136
? null propagation operator, 232
Download from finelybook www.finelybook.com
2284
NullReferenceException, 126, 160
NumberFormatInfo class, 244, 836
number formatting, 243–244, 835
numbers, 50
O
object browser window, 510
object class, 106–107, 130, 279
object files, 513
object instantiation, 89
object-oriented programming, 109–110
object reference, 50
objects, 171–173, 218
tracking, 810–811
updating, 811–812
updating untracked, 812
observable collections, 292–293
ODataConventionModelBuilder, 1070
OData Services
creating and using, 1067–1074
creating controller, 1071
query, 1072–1074
startup code, 1070–1071
OfferMessage method, 601
OfType<TResult query operator, 313
OfType extension method, 316, 804
Download from finelybook www.finelybook.com
2285
OLEDB technology, 742
OnButtonClicked event handler, 1089
OnCompleted method, 398
OnConnect method, 697
OnCreate method, for Android app, 1299
OnDateChanged method, 1115
OnDatesChanged method, 1114
OnDayItemChanging method, 1112
OnDestroy method, for Android app, 1299
one-to-one relation, 796
OnEventWritten method, 908
one-way binding, 1122
OnLaunched method, 1088, 1245
OnModelCreating method, 783, 806, 807, 1059
OnNavigatedTo method, 857
OnNavigationSelectionChanged method, 1184
OnPause method, for Android app, 1299
OnPropertyChanged method, 1122
OnResume method, for Android app, 1299
OnSendCommand method, 698
OnShareTargetActivated method, 1253
OnStartAnimation method, 1227
OnStartAsync method, 406
OnStartDeadlook method, 408
OnStart method, for Android app, 1299
OnStop method, for Android app, 1299
Download from finelybook www.finelybook.com
2286
OnSuggestionChosen handler, 1288
OnTimer method, 605
OpenAPI, 31
crearing metadata with, 1061–1067
OpenAsync method, 755
Open Data Protocol (OData), 1067
Open method, 385
open source, 13
open source code, .NET as, 4
?? operator, 100
operator keyword, 176
operators, 77, 156–157
in c#, 152–153
how they work, 174–175
is and as, 126–127
nullable types and, 159–160
overloading, 51, 173–181
overloading example, 175–178
precedence, 161–163
shortcuts, 153–154
optimization, 513–515
options, using, 571
Options dialog, 498
Oracle, 742
OrderBy clause, 317–319
OrderByDescending query operator, 313
Download from finelybook www.finelybook.com
2287
OrderBy method, 792
OrderBy query operator, 313
or method, 288, 290
or pipe symbol, 153
out parameter, 98–99, 347, 357
Output window, 28
overflow areas for RichTextBlock, 1278–1279
OverflowException class, 369
overloading, 173–181
comparison operators, 178–180
constructors, 88
override modifier, 120
owned entities, 806–808
P
PaaS. See Platform as a Service (PaaS)
Package Manifest Editor, 1086–1088
packaging
with webpack, 939–940
See also NuGet packages
PadLeft method, 163, 237
PadRight method, 237
Page class, 1110
overriding navigation, 1130
in Xamarin.Forms, 1317
page model, using inline code with, 1035

PageModel class, 1032
pages
navigating between, 1181–1185
in Xamarin.Forms, 1318
See also MainPage
Panel class, 1104, 1105
PaneThemeTransition, 1233–1234
<para> XML tag, 64
ParallaxView control, 1105, 1107–1109
Parallel class, 584, 585–590
ParallelEnumerable class, 335
Parallel.ForEach method, 585
looping with, 590
Parallel.For method, 585–587
cancellation, 598
initialization, 588–590
stopping early, 588
Parallel.Invoke method, 585, 590
parallel queries (PLINQ), 335–336
ParallelRequestSample method, 906
Parallel Stacks window, 524
<param> XML tag, 64
parameters
for commands, 747
for declaring action methods, 968
for Main method, 62
Download from finelybook www.finelybook.com
2289
passing, 96–100
<paramref> XML tag, 64
Params keyword, 87–88
parent culture, 839
ParseCommandLine method, 700
ParseMessage method, 698
Parse method, 98, 170
ParseRequest method, 691
partial classes, 103–105
partial methods, 104
partial views
defining content with, 979–982
returning from controller, 981–982
from server-side code, 980–981
partitioners, 336–337
partitioning, 331–332
Pascal casing, 71
passing ref, 469–470
PasswordBox control, 1110
passwords, 1024
PasswordSignInAsync method, 1022
Path class, 632, 634–635, 1198
geometries using markup, 1199–1200
pattern matching, 10, 362, 363, 365–366
is operator, 156
and switch statements, 56, 365
Download from finelybook www.finelybook.com
2290
using regular expressions, 247
PCL. See Portable Class Library (PCL)
Peek method, 265, 269
performance, 372, 464–467, 513–515
Performance Profiler, 526
PerfView tool, 900, 907–908
<permission> XML tag, 64
PersistKeysToFileSystem method, 729
PersonPicture control, 1110
phasing with x:Bind, 1268–1273
pinned window, 512
pipelines
completing, 303
creating, 298–301
pipes, 659–663
anonymous, 661–663
Pivot control, 1120, 1134–1135
PivotItem control, 1118
Platform as a Service (PaaS), 33
platform independence, creating, 575
platform invoke, 474–478
plus sign (+), 153
POCO (Plain Old CLR Objects) controllers, 969–971
POCOController class, 971
pointer arithmetic, 457
pointer member access operator, 459
Download from finelybook www.finelybook.com
2291
PointerPlayground, example, 461–464
pointers, 453
casting, 456
compilation checks for, 463
to optimize performance, 465–467
reasons for, 453
types, 457
Polygon class, 1198
Polyline class, 1198
polymorphism, 109, 113
Pop method, 269
PopupThemeTransition, 1233–1234
portable application, 441
Portable Class Library (PCL), 544
port numbers, 686
PostAsync method, 1056
PostBookAsync method, 1264
PostBookChapter method, 1045
postfix, 154
POST HTTP request, 1034, 1046
sending, 1056–1057
#pragma directive, 68
preamble of stream, 643
preamble of UTF-8 file, writing, 645
precedence, C# operators, 161
predefined data types, 44–52
Download from finelybook www.finelybook.com
2292
prefix, 154
preprocessor directives, 65–68, 552
rules for identifiers, 68–69
presenters, 1105, 1106
principal, 714
PriorityDocumentManager class, 272, 274
Prism.Core, 1193
private field, 79
private keys, 718
private modifier, 119, 120
ProcessAndDisplayNumber method, 221
ProcessAsync method, 1001
ProcessDocuments class, 267
Process method, 1004, 1005
ProcessNextPerson method, 385–386
ProcessRequest method, 692
ProcessTaskAsync method, 906
Program class, 39
program flow, 52–59
conditional statements, 52–56
jump statements, 58–59
loops, 56–58
ProgressBar control, 1116, 1117
displaying, 1187–1188
in Xamarin.Forms, 1322
ProgressRing control, 1110
Download from finelybook www.finelybook.com
2293
Project Properties, application settings, 545
ProjectReference element, 546
projects, 492
adding to solution, 493
referencing, 546
properties, 77, 79–83
access modifiers, 81
auto-implemented, 80–81
properties in XAML
attached, 1091, 1098–1100
as attributes, 1094
dependency, 1095
as elements, 1094
property accessor, expression-bodied, 80
property initializer, 81
protected internal modifier, 119, 120
protected modifer, 119, 120
public field, 79
public key, 119, 718
publisher, connecting, 233
pure functions, 346
Push method, 269
PutAsync method, 1057
PUT HTTP request, 1045, 1046, 1057–1058, 1077
Q
Download from finelybook www.finelybook.com
2294
quantifier, 249
queries
in OData Services, 1072–1074
See also SQL queries
Queryable class, 340
query string, 944
QueryStringRequestCultureProvide, 850
Queue<t> class, 265
Queue<t> collection, performance, 285
queues, 265–268
QuickArray, example, 466–467
Quick Launch, 481
QuickSort method, 353
R
race conditions, 585, 607–609
RadioButton control, 1119
raisenewcarinfo method, 231
random access, to streams, 646–648
RangeBase class, 1104
range controls, 1116–1118
range generation operator, 335
Range query operator, 314
RatingControl control, 1110
RazorPage<IEnumerable<Menu>, 974
RazorPage class, 988
Download from finelybook www.finelybook.com
2295
Razor Pages, 1029–1038
code-behind, 1036–1037
creating project, 1030–1031
page parameters, 1037–1038
using inline code with page model, 1035
React, 926
ReadAllText, of File class, 638
ReadAsByteArrayAsync method, 674
ReadAsStreamAsync method, 674
ReadBooks method, 779–780
ReadChaptersAsync method, 1053–1054
ReadCommitted isolation level, 756
readers
resource, 845–846
using with sockets, 707–708
ReaderWriterLockSlim class, 625–627
reading files
binary files, 650–651
with StreamReader class, 649–650
reading streams, 644–645
ReadLine method, 98, 386
Read method, 750
ReadNotExistingChapterAsync method, 1054
readonly, 78–79, 82, 264
readonly fields, 78–79
Readonly modifier, ref keyword with, 467
Download from finelybook www.finelybook.com
2296
readonly properties, 82
readonly structs, 95
ReadUncommitted isolation level, 756
ReceiveAsync method, 700
Receive method, of Socket class, 706
receiver
sockets for implementing, 708–710
for UDP, 699–700
Receiver method, 709
receiving data from client, in ASP.NET Core MVC, 985–989
records in EF Core database
deleting, 777–778
updating, 777
Rectangle class, 1198
recursive, 353–354
Redirect method, 969
RedirectToRoute method, 969
ref, 96
reference data types, 442–444
ReferenceEquals method, 106, 172, 173
Reference Manager, 496–498
references
managing, 495
passing, 96–100
strong and weak, 447
reference semantics, 467–471
Download from finelybook www.finelybook.com
2297
passing ref and returning ref, 469–470
ref, 470–471
reference types
comparing, 171–172
vs. data types, 44–45
equality, 171–172
predefined, 50
vs. value types, 44–45
referencing methods, 215–216
referent, 453
Ref keyword, 467
reflection, 418–429
reflection API, invoking members, 428
ref-like types, 471
Ref parameter, 97–98
passing a struct, 94
ref struct keyword, 471
regex class, 247
regexoptions enumerated, 248
#region, preprocessing directives, 66
RegionInfo class, 832
registering
localization services, 848–849
Windows app services, 1262–1263
RegisterServices method, 567, 570, 912
RegisterViewModel, 1021
Download from finelybook www.finelybook.com
2298
registration of users, 1020–1022
registry in Docker, 531
regular expressions, 236, 245–253
displaying results, 250–251
relationships
annotations defining, 799–800
conventions for defining, 796
Fluent API for, 800–802
RelativeLayout control, in Xamarin.Forms, 1320
RelativePanel, 1149
release
builds, 513–515
configuration, 515
<remarks> XML tag, 64
RemoveAll method, 261
RemoveChapterAsync method, 1058
Remove method, 240, 260, 1042
RemoveRange method, 261
RenderBody method, 976
RepeatableRead isolation level, 756
RepeatBehavior Timeline property, 1224
RepeatButton control, 1119
Repeat generation operator, 335
Repeat query operator, 314
Replace method, 237, 240
reports, on user issues, 916
Download from finelybook www.finelybook.com
2299
RepositionThemeTransition, 1233
Representational State Transfer. See REST (Representational State
Transfer)
request and response
in ASP.NET Core, 940–951
cookies, 947–948
encoding, 945–946
form data, 946–947
sending JSON, 948
RequestBuilder class, 888
RequestedTheme property, 1212
RequestHtmlAsync method, 686–687
Request property, of Controller class, 970
RequestStart method, 906
RequestStop method, 906
Required TransactionScope enumeration, 764
RequiresNew TransactionScope enumeration, 764
Resolve method, 582
resource dictionaries, 1209–1210
Resource File Generator, 846
resource files, 846–847
ResourceManager class, 846–847
resources
accessing from code, 1208–1209
from ASP.NET Core, 851–852
readers and writers, 845–846

System.Resources namespace, 847
theme, 1210–1212
with Universal Windows Platform (UWP), 857
ResourceSet class, 847
ResourceWriter class, 847
Response property, of Controller class, 971
REST (Representational State Transfer), 31, 1040
ResultController class, 969
RethrowExceptions program, 377
returning ref, 469–470
<returns> XML tag, 64
return statement, 59
return value, 84
RevealBrush, 1205–1206
Reverse method, 474
Reverse query operator, 313
RichTextBlock control, 1105, 1110, 1278
right associativity, 162
RightToLeft enumeration, 248
Ritchie, Dennis, The C Programming Language, 19
role, 714
Rollback method, of Transaction class, 756, 757
rollback of transaction, 821–822
root cultures, 839
Roslyn, 9
RotateTransform, 1201
Download from finelybook www.finelybook.com
2301
route constraints, 966–967
RouteData property, of Controller class, 971
routed events in XAML, 1091, 1097–1098
routing
in ASP.NET Core, 951–952
in ASP.NET Core MVC, 965–967
RSA, signing and hashing using, 725–728
RSACng class, 725
Run method, 267
for Azure functions, 1077
of thread, 591
RunSampleAsync method, 912
RunServerAsync method, 687
RunSynchronously method, 592–593
runtime, 5, 411–412
components, 13
RuntimeBinderException, 429
Runtime Callable Wrappers (RCW), 1292
runtime type change, 430
RyuJIT, 16
S
SaaS. See Software as a Service (SaaS)
SafeHandle class, 477
SampleEventSource class, 902
SaveChanges method, 816
Download from finelybook www.finelybook.com
2302
SaveTempSessionAsync method, 1247
saving data, in Entity Framework Core, 808–813
sbyte, 46
scalar, 175
ScaleTransform element, 1200
scoped services, 568–570
scopes, 495
for logging, 912–913
variable of, 441
screen size, adaptive triggers and, 1150
scripting libraries, 926, 936–938
ScrollBar control, 1116
ScrollViewer control, 1118
Sdk attribute, 20
sealed modifier, 120
search, in Visual Studio, 481
SearchBar control, in Xamarin.Forms, 1322
SecretManager tool, 732
sections, 977–979
secure data exchange, 722–725
security, 713–740
access control to resources, 732–735
data encryption, 717–728
user verification, 714–717
web, 735–739
<See> XML tag, 64
Download from finelybook www.finelybook.com
2303
<Seealso> XML tag, 64
Seek method, of Stream class, 647
segments, geometries using, 1198–1199
selecting configuration, 515
selecting project type, 488–491
SelectList, 1013
SelectListItemsExtensions class, 992
SelectMany extension method, 317
SelectMany query operator, 313
SelectorItem control, 1118
Select query operator, 313
SELECT SCOPE_IDENTITY() statement, 754
SELECT statement (SQL), 750
self-contained deployments, 23
SemanticZoom control, 1110
semaphore, 618–619
SendAndReceive method, 709
SendAsync method, 670
for creating HttpRequestMessage, 675–676
sender for UDP, creating, 701–703
Sender method, 709
Serializable isolation level, 756
serverless computing technology, 33
serverless Consumption plan, 1074
server-side code, partial views from, 980–981
ServiceCollection class, 564
Download from finelybook www.finelybook.com
2304
Add method, 567
ServiceProvider, CreateScope method, 569
services
creating, 1011–1012
dependency injection and, 1176–1177
initialization, 571
session state
in ASP.NET Core, 953–955
loading and storing, 1247
for TCP, 687
SetAccessControl method, 734
set accessors, 182, 346
SetAll method, 288, 290
SetBasePath method, 744
SetBlackoutDates function, 1113
SetBookings method, 1113
SetDefaultKeyLifetime method, 730
Set method, 81, 288
SetNavigationStateAsync method, 1243
set operations, 329–330
sets, 282
SetSessionData method, 694
Setter element, 1206
SetupCultures method, 838, 839
SetupDataProtection method, 729
Setxxx methods, for session state, 954
Download from finelybook www.finelybook.com
2305
shadow properties, in EF Core, 788–790
Shape class, 1105
shapes in XAML, 1196–1198
share access, for file stream, 641
shared projects, 552–554
SharedState class, 610
ShareTargetPageViewModel class, 1255
short, 46, 47
ShowAsync method, 578
ShowClaims method, 715, 716
ShowHeaders function, 673
ShowIdentityInformation method, 715
ShowMessageAsync method, 576, 1180
ShowPrincipal method, 715
ShowState method, 809
ShowStatistics method, 746
SignalR, 32
signature
creating and verifying, 720–722
using RSA, 725–728
Silverlight, 9
SimpleCalculations method, 163
SimpleExceptions class, 373
single inheritance, 110
single-line comment, 63
SingleLine enumeration, 248
Download from finelybook www.finelybook.com
2306
SingleOrDefaultAsync method, 791
SingleOrDefault method, 791
SingleOrDefault query operator, 314
Single query operator, 314
SingletonAndTransient method, 567568
sizeof operator, 157, 458
SkewTransform element, 1201
Skip method, 331
Skip query operator, 313
SkipWhile query operator, 313
Slider control, 1116, 1118
Snapshot isolation level, 756
SOAP (Simple Object Access Protocol), 1040
sockets, 704–710
creating listener, 704–706
implementing receiver, 708–710
using NetworkStream class with, 707
using readers and writers with, 707–708
Software as a Service (SaaS), 32
SolicitColdCall example, 382
SolidColorBrush, 1202
solution, 492
adding projects, 493
Solution Explorer, 491–499, 495
adding items, 495
dependencies, 556
Download from finelybook www.finelybook.com
2307
previewing items, 495
Project Properties application, 486–487
solution files, 546
sorted, 282
SortedList<tkey>, 282
SortedList<tkeytvaluel class, 282
SortedSet<t> collection, 282
performance, 285
sorting, 263–264, 317–318, 842
bubble sort, 222–224
sounding errors, cast, 186
source blocks, 601–602
source files, internal comments within, 63–64
Source property, 376
span, extension methods, 473–474
Span<t> type, 253, 471–474
spans, 236, 253
referencing native heap, 473
referencing stack, 472–473
spans referencing, 472
special collections, 287–304
specific culture, 833
SpeedRatio Timeline property, 1224
SpinLock, 616
Split method, 237
SplitView control, 1110
Download from finelybook www.finelybook.com
2308
SqlCommand class, 747
CommandText of, 751
SqlConnection class, 743–744, 745, 746
SQL Database, 33
SQL Data Definition Language (DDL)., 770
SqlDataReader, 750
indexer, 751
SQL injection, 737–738
SqlParameter object, 747
SQL queries, 793–794
SQL Server LocalDb, 742
SQL Server Management Studio, 742
square brackets, for pointers, 465
stack, 44, 440, 441, 472–473
Stack<t> collection, performance, 285
Stack<t> method, 269
Stackalloc command, 464–465
stack-based, 465–466
StackLayout control, in Xamarin.Forms, 1320
StackOverflowException class, 369
StackPanel layout panel, 1091, 1144
stack pointer, 441
stacks, 268–269
StackTrace property, 376
staging server, 960
Start method, 267
Download from finelybook www.finelybook.com
2309
of WebHost class, 926
StartNew method, 591
StartServer method, 679
Startup class
Configure method, 849
ConfigureServices method, 1030–1031
Startup Project, in Visual Studio, 494–495
StateChange event, 745–746
state information, 811
static field, 79
static members, 139
static modifier, 91–92, 120
Stepper control, in Xamarin.Forms, 1322
stored procedures, calling, 751–752
storyboard, for iOS app, 1306–1308
stream API, 30
Stream class, properties, 643
StreamReader class, 384, 386, 641, 649–650
streams, 640–648
buffered, 648
copying, 646
random access to, 646–648
reading, 644–645
Windows runtime with, 663–667
writing, 645
StreamWriter class, 641, 650
Download from finelybook www.finelybook.com
2310
stringbuilder, class members, 240–241
String class, 83
string collection, writing, 638
StringExtensions class, 106
String.Format method, 229
string literals, 51
string reference type, 50, 51–2
strings, 253
building, 237–239
custom formats, 244–245
interpolation, 241–245
String.Split method, 105
strongly typed helpers, 992–993
strong typing, 167
structs, 92–96, 110, 358
passed by value, 97
readonly, 95
Structs keyword, 76
structure scope, 441
struct vector, 175–178
styling Windows applications, 1195–1238
animations, 1212–1234
brushes, 1202–1206
geometry, 1198–1200
resources, 1207–1212
shapes, 1196–1198
Download from finelybook www.finelybook.com
2311
styles, 1206–1207
templates, 1212–1222
themes, 1210–1212
transformation, 1200–1202
Visual State Manager, 1235–1238
subscriber, connecting, 233
Substring method, 237
<summary> XML tag, 64
sum method, 332
Sum query operator, 314
supporting multiple platforms, 554–556
Suppress TransactionScope enumeration, 764–765
suspending Windows apps, 1243–1244
acrivating after, 1245
testing, 1245–1246
Swagger, crearing metadata with, 1061–1067
swap<t> method, 145
Swashbuckle.AspNetCore package, 1061
SwipeControl control, 1119
SwitchCell class, 1325
Switch control, in Xamarin.Forms, 1322
switch statement, 365
symbol, for preprocessor directives, 65
symmetric key algorithms, 718, 719
synchronization, 584–585, 592–593
lock statement and, 610–614
Download from finelybook www.finelybook.com
2312
synchronous call, 393
System.10 namespace, 16
system access control list (SACL), 732
System.AddIn namespace, 7
System.Collections.Concurrentnamespace, 297
System.Collections.Generic namespace, 6, 256
System.Collections namespace, 15, 256
System.Collections.Objectmodel namespace, 292
System.ComponentModel class, 369
System.Composition namespace, 8
System.Convert class, 186–187, 374
System.Data namespace, 15
System.DateTime class, 79
System.DateTime struct, 92
System.Diagnostics namespace, 15, 896
System.Exception class, 369
properties, 376
System.GC.Collect, calling, 445
System.Globalization namespace, 15, 832–845
cultures and regions, 832–833
Unicode issues, 832–833
System.Idisposable interface, 121
System IO class, 369
System.IO.MemoryStream object, 640
System namespace, 39
System.Net namespace, 16, 670
Download from finelybook www.finelybook.com
2313
System.Net.Sockets namespace, 670
System.Net.Sockets.NetworkStream object, 640
System.Object class, 106
System.Resources namespace, 847
System.Security.Cryptography.namespace, 719
System.Spring class, 236–241
System.Text.Stringbuilder class, 238–239
System.Threading namespace, 16, 604–606
Timer class, 604
System.Threading.Tasks namespace, 585
System.Transactions, transactions with, 757–766
System.Type class, 418–420
System Workflow namespace, 7
T
TabbedPage, in Xamarin.Forms, 1318
table per hierarchy
with conventions, 802–804
with Fluent API, 804–805
table splitting, 805–806
TableTagHelper class, 1004
tablet mode, 1240
TagBuilder, 1004
TagHelperContext, 1004
Tag Helpers, 984
in ASP.NET Core MVC, 995–1006
Download from finelybook www.finelybook.com
2314
creatiing elements with, 1002–1006
custom, 1001–1002
environment, 999–1000
for form, 998–999
input, 997–998
label, 996–997
tail call optimization, 354
Take query operator, 313
TakeWhile query operator, 313
TAP
See also task-based asynchronous pattern (TAP)
target blocks, 601–602
TargetSite property, 376
task-based asynchronous pattern (TAP), 391, 395–396
TaskCanceledException, 600
TaskCreationOptions enumeration, 591
TaskCreationOptions.LongRunning, 593
Task.Delay method, 587
TaskFactory, 591
Task.Factory.FromAsync method, 402
task parallelism, 584
Task Parallel Library (TPL), 8, 391, 593
Task Parallel Library Data Flow, 600–605
source and target blocks, 601–602
using action block, 601
tasks, 584, 591–593
Download from finelybook www.finelybook.com
2315
cancellation framework, 598–600
continuation, 594–595
hierarchy, 595
returning from methods, 596
synchronous, 592–593
using separate thread, 593
using thread pool, 591
ValueTask, 596–597
waiting for, 596
Task.WhenAll method, 400
TaskWithResult method, 593–594
TCP, 686–698
creating client, 694–698
creating HTTP client, 686–688
vs. UDP, 698
TcpListener class, 686
TempData property, of Controller class, 971
templates
Bower Configuration File, 936
Coded UI Test Project, 882
data, 1126–1128
for HTML helpers, 994–995
for ListView control, 1221–1222
Middleware Class, 952
Web Application (Model-View-Controller), 1040
in XAML, 1196
Download from finelybook www.finelybook.com
2316
ternary operator, 154
TestClassExtensionAttribute class, 885
Test Explorer, 866
testing, 863–893
all code paths, 869
expecting exceptions with MSTest, 869
external dependencies, 869–872
See also unit testing with MSTest
testing web applications, 887–893
ASP.NET Core Integration Tests, 887–888
creating test, 888–891
running test, 891–893
text, 1273–1281
fonts, 1274–1275
inline and block elements, 1275–1278
TextBlock controls, 841, 1105
TextBox controls, 1110, 1111
TextBoxFor method, 992
TextCell class, 1325
text editor, in Visual Studio, 480
text files, analyzing encodings, 643–644
theme resources, 1210–1212
ThenByDescending query operator, 313
ThenBy query operator, 313
third-party packages, 14
This keyword, 90, 105, 106

indexer, 182
Thread class, 584
thread pool, tasks using, 591
threads, 16
programming issues, 608–610
reasons for, 584
tasks using separate, 593
ThrowAfter method, 404
ThrowAnException method, 378
throwing exceptions, 371
Timeline
for animations, 1222–1224
in HttpClient class, 672
TimePicker control, 1110
ToArray method, 253
ToArray query operator, 314
ToBinaryString method, 163, 292
ToDictionary method, 1004
ToDictionary query operator, 314
ToImmutableList method, 295
ToList extension, 333
ToList query operator, 314
ToLookup method, 281
ToLookup query operator, 313
ToLower method, 237, 467
ToName method, 1267–1268
Download from finelybook www.finelybook.com
2318
toolbox, 506
ToolTip control, 1119
ToSelectListItems method, 991
ToString method, 106, 170, 219, 240, 242, 278, 346, 835–836
overriding, 112, 244–245, 257
TouchSession method, 691, 693
ToUpper method, 237, 467
TPL. See Task Parallel Library (TPL)
tracerpt, 899–900
tracing, 896
creating custom listeners, 908–909
deriving from EventSource, 900–902
with EventSource, 896–908
logman for, 899
using activity IDs, 906–908
TrackEvent method, 917
Transaction class, 757
TransactionCompleted event, 764
of Transaction class, 757
TransactionCompleted event handler, 764
TransactionInformation property, of Transaction class, 757
transactions, 819–822, 1200–1202
with ADO.NET, 753–757
ambient, 762–764
ambient, nesting scopes with, 764–766
committable, 759–761
Download from finelybook www.finelybook.com
2319
dependent, 761–762
explicit, 821–822
implicit, 819–820
with System.Transactions, 757–766
and valid state, 754
TransactionScope class, 762–763
TransactionScope enumeration, 764–765
TransformationGroup element, 1201
transformations in XAML, 1196, 1200–1202
with matrix, 1202
transitions, 1233
TranslateTransform element, 1201, 1232
Transmission Control Protocol (TCP), 686–699
tree controls, 838
TreeView, 840–841
TrimExcess method, 265
Trim method, 237
try blocks, 370
TryEnter method, 616
TryFindResource method, 1209
TryGetMember method, 434
TryGetValue method, 275
TryParse method, 99
TryParse method, 99
TrySetMember method, 434
TryUpdateModelAsync method, 988
Download from finelybook www.finelybook.com
2320
tsc, 936
tuple, 73
compatability, 358–359
interference of names, 359
tuples, 10, 98, 326, 354–362
declaring and initializing, 355
deconstruction, 356, 361–362
with linked lists, 360
with LINQ, 360–361
returning to, 356
<tvalue> collection
collection types, 296
performance, 285
Twitter Bootstrap, 924
two-way binding, 1122
Type abstract base class, 418
type array, 87
type inference, 41
type matching, is operator, 156
typeof operator, 158
<typeparamref> XML tag, 64
type pattern, 363
types, 78, 83–84, 100, 101–103
class properties, 419
conversions, 167–170
filtering, 316
Download from finelybook www.finelybook.com
2321
getting details, 422–423
instantiating dynamically, 427
type safety, 167–171
type conversions, 167–170
TypeScript, 925–926
TypeView example, 420–422
U
UDP, 698–704
building receiver, 699–700
creating sender, 701–703
SendTo and ReceiveFrom methods, 710
vs. TCP, 698
UIElement class, 1104
uint, 46
UI testing, 864
with Windows apps, 882–887
UIWindowsAppWindow class, 885
ulong, 46
unboxing, 130, 171, 189
unchecked operators, 155–156
#undef, for preprocessor directives, 65–66
UnderlyingSystemType property, of Type class, 419
UnexpectedException, 388
Unicode characters, identifiers in, 69
Unicode issues, 832–833
Download from finelybook www.finelybook.com
2322
unicode values, 49
Union extension method, 329
Union query operator, 313
unit test, 561
Unit Test App, 489
unit testing, 864
with EF Core, 880–882
live, 878–880
with xUnit, 872–873
unit testing with MSTest, 864–872
creating, 865–866
phases, 866
running, 866–868
Universal Windows apps
avoid blocking scenarios, 408–409
Await configuring, 406–407
properties, 515
switch to UI thread, 407–408
using IAsyncOperation, 408
Universal Windows Extensions, 496
Universal Windows Platform (UWP), 12, 30, 405–409
localization with, 857–861
navigation in, 1181
types and members, 495
unmanaged resources, 448–452
destructor, 451–452
Download from finelybook www.finelybook.com
2323
destructors or finalizers, 448–449
iDisposable and finalizer rules, 452
iDisposable interface, 449–450
implementing iDisposable, 451–452
using statement, 450
unsafe code, 157, 452–467
accessing memory directly, 453
casting between, 457
casting pointers, 456
class members, 459–460
integer types, 456
performance, 464–467
pointer arithmetic, 457
pointers, 453, 459–460
pointers to optimize performance, 464–467
pointers to structs, 459
pointer syntax, 454–456
pointer types, 457
sizeof operater, 458
void pointers, 457
writing with unsafe keyword, 453–454
unsafe modifier, 351
Unspecified isolation level, 756
UpdateChapterAsync method, 1057
UpdateMenuAsync method, 1014
UPDATE statement (SQL), 748–749, 815
Download from finelybook www.finelybook.com
2324
updating objects, 811–812
UriBuilder class, 682, 683
Uri class, 682
URIs, 682–685
UrlEncoder class, 737
UrlService class, 1050
UseHeaderMiddleware method, 952, 954
UseMvcWithDefaultRoute method, 965
UserControl, 1110
user-defined, 183–189
exception classes defining, 387–388
user-defined casts, 183–189
implementing, 184
user-defined exceptions
catching, 382–384
throwing, 384–387
UseRefMember method, 468
user information, storing and retrieving, 1019
user interfaces, adaptive, 1185–1187
UserPreferences class, 92
User property, of Controller class, 971
users
authentication, 1024
login setup, 1022–1023
registration, 1020–1022
user secrets, hackers and, 730–732
Download from finelybook www.finelybook.com
2325
user verification, 714–717
claims, 716–717
creating and verifying signature, 720–722
data protection, 728–732
Windows principals, 715–716
UseSession method, 954
UseSqlServer method, 773–774, 780
UseStaticFiles method, 932, 935
UseSwagger method, 1062
UseValueTask method, 401
ushort, 46
using combinators, 400–401
using declaration, 38
using statement, 450
using static declaration, 38, 60, 348
UTF-16 (Unicode Text Format), 644
Utilities class, for transactions, 758
utility classes, for networking, 681–682
UWP. See Universal Windows Platform (UWP)
UWP application, 578
UWPClient application, 576
V
validation
and annotations, 988–989
form with, 998–999
Download from finelybook www.finelybook.com
2326
<value> XML tag, 64
ValueGeneratedOnAddOrUpdate method, 815
Value property, 100
values, passing, 96–100
ValueTask, 596–597
using, 401
ValueTuple, 73, 357–358
compatability, 358–359
value types, 46–50, 94, 441
vs. data types, 44–45
vs. reference types, 44–45
structs, 93
value types for equality, comparing, 173
variables
assigning value, 40
declaring, 39–40
initializing, 40–41
investigating values, 519
monitoring and changing, 521–522
within query, 320
rules for identifiers, 68–69
scope of, 42–44
VariableSizedWrapGrid, 1146–1148
var keyword, 41, 83, 356
var pattern, 364
VectorClass assembly, 425
Download from finelybook www.finelybook.com
2327
VectorClass library, 417–418
VerifyHash method, 727
ViewBag property, of Controller class, 971
Viewbox control, 1105, 1106
ViewCell class, 1325
in Xamarin.Forms, 1324
View class, in Xamarin.Forms, 1317
view components, 982–984
ViewDataDictionary, 973
ViewData property, of Controller class, 971
view models
dependency injection and, 1176–1177
opening dialogs from, 1180–1181
views
in ASP.NET Core MVC, 972–985
creating, 1016–1018
defining content with partial, 979–982
dependency injection in, 985
importing namespaces with multiple, 985
localization with, 853–856
passing data to, 972–973
strongly typed, 974–975
in Xamarin.Forms, 1322–1323
XAML, 1153
ViewsDemo controller, 972
ViewsDemoController method, 974
Download from finelybook www.finelybook.com
2328
virtual addressing, 441
virtual address space, 441
virtual functions, 112
virtualization, 530
virtual memory, 441
virtual methods, 111–113
virtual modifier, 120
virtual properties, 112
visual basic, 71
VisualElement, in Xamarin.Forms, 1317
Visual State Manager, 1235–1238
defining custom states, 1237–1238
predefined states with control templates, 1236–1237
setting custom states, 1238
VisualStateManager class, GoToState method of, 1238
Visual Studio
building project, 512–518
debugging, 523
with Docker, 530, 534–536
editions, 482
Live Unit Testing, 887
project creation, 484–491, 488–491
refactoring tools, 524–525
settings, 483–484
Start Page, 485
Visual Studio 2017, 24–29, 479–536
Download from finelybook www.finelybook.com
2329
building projects, 28
creating project, 24–25
debugging, 29
diagnostic tools, 525–530
editor, 28
installing, 24
Lightweight Solution Load feature, 391
.NET Core CLI, 26
running applications, 29
Solution Explorer, 25–26
Visual Studio App Center
analytics with, 915–919
monitoring with, 896
registering with, 916
Visual Studio App Center Analytics, information from, 918
Visual Studio building project
code debugging, 518–524
debugger symbols, 514
debugging, 513–515
editing configuration, 515
release builds, 513–515
selecting configuration, 515
Visual Studio Code, 34
Visual Studio code editor, 499–565
class view window, 509–510
CodeLens, 503
Download from finelybook www.finelybook.com
2330
code snippets, 503–504
design view, 506–508
document outline, 511
EditorConfig, 504–505
folding editor, 499–502
IntelliSense, 502
navigating, 502
object browser window, 510
properties window, 508–509
server explorer window, 511
Visual Studio community, 33
Visual Studio debugging code
exceptions, 522
live visual tree, 521
monitoring and changing variables, 521–522
multithreading, 523
setting breakpoints, 519
using data tips and debugger visualizers, 519–520
Visual Studio Enterprise, 34
Visual Studio exploration and coding, 491–312
Solution Explorer, 491–499
Visual Studio for Mac, 34
Visual Studio Professional, 34
Visual Studio project creation, multi-targeting .NET, 485–487
Visual Studio Team Services, 33
void, 84

void pointers, 457
W
WaitAll method, 596
WaitHandle class, 617, 621
WaitingForChildrenToComplete status, 595
waiting for tasks, 596
Wait method, 408–409
#warning, for preprocessor directives, 66
watch window, 521
Web API, 31, 1039–1080
creating and using OData services, 1067–1074
creating async service, 1047–1049
creating metadata with OpenAPI or Swagger, 1061–1067
creating .NET client, 1049–1058
creating services, 1040–1047
hosting, 1074
using Azure functions, 1074–1079
writing to database, 1058–1061
Web Application (Model-View-Controller) template, 964, 1040
web applications, 31
shared content, 975
web application testing, 887–893
ASP.NET Core Integration Tests, 887–888
creating test, 888–891
web.config file, 955
Download from finelybook www.finelybook.com
2332
WebHooks, 32, 1075
WebHost
configuration providers, 955
JSON configuration files from default builder, 960
WebHost class, Start method of, 926
WebListener class, 678–681
webpack, 936
packaging with, 939–940
web project, in ASP.NET Core, 926–934
web security, 735–739
cross-site request forgery (XSRF), 738–739
encoding, 735–737, 945–946
SQL injection, 737–738
web technologies, ASP.NET Core for, 925
Web Test Editor, 889
adding data source, 890–891
web testing, 864
Web Test Recorder add-in, 888–889
WhatsNewAttributes example, completing, 424–426
WhatsNewAttributes library, 416–417
WhenAll method, 400, 596
Where method, 310, 338, 340, 345, 789, 791
overload of, 315–316
where query operator, 313
while loop, 57–58
Windows 8, and programming interface, 8
Download from finelybook www.finelybook.com
2333
Windows 10 versions, 1085
Windows App Editor, 663–665
Windows.ApplicationModel namespace, 17
Windows Application Packaging Project, 489
Windows apps, 1239–1289
activating after suspension, 1245
application manifest, 1086–1087
application startup, 1088–1089
app lifetime, 1240–1243
basics, 1083–1090
controls, 1104–1121
data binding, 1121–1131
hosting Xamarin, 1314
layout panels, 1144–1155
main page, 1089–1090
navigation, 1131–1143
navigation state, 1243
page state, 1246–1249
sharing data, 1249–1259
sharing source, 1249–1252
sharing target, 1252–1259
suspending, 1243–1244
testing suspension, 1245–1246
UI testing with, 882–887
Windows Runtime, 1084
See also styling Windows applications; XAML
Download from finelybook www.finelybook.com
2334
Windows app services, 1259–1265
AutoSuggest control, 1286–1289
calling, 1263–1265
compiled binding, 1265–1273
creating background task for connections, 1261–1262
creating model, 1260
inking, 1281–1286
registering, 1262–1263
text, 1273–1281
Windows Communication Foundation (WCF), 1039
Windows.Data namespace, 17
Windows.Devices namespace, 17
Windows Forms, 12
Windows Forms Control Library, 543
Windows.Foundation namespace, 17
Windows handles, 477
WindowsIdentity class, 714
Windows.Media namespace, 17
WindowsMessage method, 550, 551
Windows.Networking namespace, 17
Windows operating system, 51
Windows Presentation Foundation (WPF), 7, 30
Windows principals, 715–716
Windows Runtime, 12, 17–18, 391, 1084
with files and streams, 663–667
HttpClient class and, 675–678
Download from finelybook www.finelybook.com
2335
mapping types to .NET types, 665–667
Windows Runtime Component, 489
Windows.Security namespace, 17
Windows.Services.Maps namespace, 18
Windows.Storage namespace, 18
Windows Store apps, 8
Windows.System namespace, 18
Windows.UI.Xaml namespace, 18
Windows universal project template, 488–489
Windows Workflow Foundation (WF), 7
WithDegreeOfParallelism method, 337
WithExecutionMode method, 337
WithMany method, 784
WithOne method, 784
word boundary, 248
WPF. See Windows Presentation Foundation (WPF)
WPF application, 485, 577
WPFClient application, 576
WPF Custom Control Library, 543
WPFMessageService class, 577
WPF User Control Library, 543
Wrapper class, 550–551
WriteAllText, of File class, 638
WriteAsync method, 646
WriteAttributeInfo method, 426
WriteEvent method, 902–903
Download from finelybook www.finelybook.com
2336
Writeline($”{s}), 242
WriteLine method, 19, 38, 39, 192
WriteMatches method, 250
write-only properties, 82
WriterMethod method, 626
writers
resource, 845–846
using with sockets, 707–708
writing files
binary files, 650–651
StreamWriter class for, 650
writing streams, 645
wwwroot folder, 929, 935
X
Xamarin, 13, 30–31
Android hosting, 1314
common libraries, 1316–1317
iOS hosting, 1315
Windows apps hosting, 1314
Xamarin Application, 579–581
XamarinClient application, 576
Xamarin development tools, 1294–1297
Android, 1294–1296
iOS, 1296
Visual Studio 2017, 1297
Download from finelybook www.finelybook.com
2337
Visual Studio App Center, 1297
Visual Studio for Mac, 1297
Xamarin.Forms, 1291–1325
activity, 1298
application, 1312–1316
architecture with Android, 1292–1293
architecture with iOS, 1293
commands, 1324
control hierarchy, 1317–1318
data binding, 1323
displaying lists, 1301–1303
layout, 1320–1322
ListView control, 1324
navigation, 1181, 1319–1320
pages, 1318
resources, 1300–1301
ViewCell control, 1324
views, 1322–1323
XAML content, 1316
XamarinMessageService class, 579
XAML, 1089, 1091–1103
attached properties, 1091, 1098–1100
vs. C#, 1091
conditional, 1102–1103
core elements, 1196
dependency properties, 1094–1095
Download from finelybook www.finelybook.com
2338
dependency property creation, 1096
for HTTP request, 676
mapping elements to classes, 1092–1093
markup extensions, 1091, 1100–1101
markup extensions, custom, 1101–1102
routed events, 1091, 1097–1098
setting properties as attributes, 1094
standard, 1092
using custom .NET classes with, 1093
using properties as elements, 1094
value changed callbacks and events, 1096–1097
in Xamarin.Forms, 1316
XAML app patterns, 1157–1193
models, 1165–1168
MVVM, 1157–1159
sample solution, 1165
services, 1168–1170
sharing code, 1159–1164
view models, 1170–1176
XAML code
editing, 481
for HTTP request, 676
XAML Standard, 1323
XAML views, 1153
XLIFF (XML Localisation Interchange File Format) standard, 859
XML documentation, 64–65
Download from finelybook www.finelybook.com
2339
XML file
comments for controller acrion methods, 1065
receiving from service, 1055–1056
for trace information, 902
XML for Applications Markup Language (XAML), 7
XmlHttpRequest API, 982
xor method, 291
xUnit, unit testing with, 872–878
Y
YAML file, 535
yield return statement, 311
yield statement, 351–353
Z
zip files, 651, 653–654
Zip method, 330–331
Zip query operator, 313

原文地址:https://www.cnblogs.com/blogs2014/p/10276409.html