Sample( ), 613
SByte .NET structure, 392, 393, 569, 570
sbyte value type, 36, 38
Scheme property, 790
Scopes, 52–54, 426, 445
sealed keyword, 298
Security, 9
SecurityException, 371
Seek( ), 362, 363, 387–388, 389
SeekOrigin enumeration, 387
Selection statements, 85–92
Semaphore, 690–693
named, 693
SemaphoreSecurity, 693
Server property, 791
set accessor
and accessor modifiers, 256–257
for indexer, 242, 245
for property, 250–251, 252
set as contextual keyword, 32
Set( ), 693, 732
SetAll( ), 732
SetByIndex( ), 723, 724
SetError( ), 379
SetIn( ), 379
SetOut( ), 379–380
SetRange( ), 715, 716
SetValue( ), 606–607
Sheridan, Mike, 4
Shift operators, bitwise, 73, 79–82
short value type, 36, 37, 38
Show( ), 834–835
Sign flag, 37
Sign( ), 566–567
Signature of a method, 190
Simple types, 35
Sin( ), 40, 567
Single .NET structure, 392, 393, 569, 573
fields, table of, 575
methods, table of, 573–574
Sinh( ), 567
Site property, 809, 821
Sites, 808
sizeof operator, 544
Sleep( ), 662
Sort( ), 590–592, 607, 608, 609, 714, 716, 719, 739–740
Sort<T>( ), 607, 608, 757
Sort<TK,TV>( ), 608, 609, 610
SortedDictionary<TK,TV> class, 738, 748–750
methods, table of some, 748
SortedDictionary.KeyCollection class, 749
SortedDictionary.ValueCollection class, 749
SortedList class, 714, 723–726
methods, table of common, 724
SortedList<TK,TV> class, 738, 750–753
methods, table of some, 751
Split( ), 631, 635, 636–638
Sqrt( ), 38−39, 201, 567
Stack class, 707, 714, 726–728
methods, table of, 726
Stack<T> class, 738, 753–754
methods, table of, 754
Stack, definition of, 13, 164, 726
stackalloc, 544–545
StackOverflowException, 350, 352
StackTrace property of Exception, 349–350
Start( ), 661, 704
parameterized version of, 669
StartsWith( ), 630, 635
Statements, 21, 31
null, 98
Statements, control, 26
iteration, 85, 92–102
jump, 85, 103–108
selection, 85–92
STAThread, 828
static, 20, 200–207, 248, 287
Status property, 787
StatusCode property, 791
StatusDescription property, 791
Stream(s)
binary, 365
byte, 361, 370–375, 389
character, 361, 362, 364, 375
classes, byte, 363–364
definition of, 361
memory-based, 389–392
predefined, 361–362
redirecting standard, 362, 369–370, 379–380, 390
wrapper classes, character, 364−365
Stream class, 362–364, 370
byte steam classes derived from, 363
methods, table of common, 362
properties, table of, 363
StreamReader class, 365, 375, 378–379
StreamWriter class, 365, 375–377
string
as C#’s name for System.String, 156, 619
class. See String class
data type, 153, 619, 620
String class, 153–160, 619–642
comparison methods, table of common, 622–623
constructors, 620
indexer, 621
search methods, table of, 632–635
string handling methods, table of common, 154
String(s)
arrays of, 157–158
comparing, 155, 621–626
concatenating, 156, 626–629
constructing, 153–154, 620–621
formatting. See Formatting
immutability of, 158–159, 619
indexing, 154
inserting, 640–641
I/O using, 390–392
joining, 631, 636
Length property of, 154, 621
literals, 48–50, 153, 621
numeric, converting, 392–394
as objects, 153, 154, 619
padding, 638, 639–640
pointers and, 542–543
relational operators and, 621
removing, 640–641
replacing, 640–641
searching, 629−631
splitting, 631, 635, 636–638
switch statements and, 159–160
tokenizing, 637–638
trimming, 638, 639–640
String.Format( ). See Format( )
StringBuilder class, 159, 619
StringCollection class, 733
StringComparison enumeration, 625–626
StringDictionary class, 733
StringReader class, 365, 390–392
StringSplitOptions enumeration, 636–637
StringWriter class, 365, 390–392
Stroustrup, Bjarne, 4, 5
struct keyword, 326, 492, 505, 508
Structures, 305, 325–330
C# vs. C++, 330
efficiency of, 325, 329–330
and fixed-size buffers, 545–546
generic, 511–512
.NET, 392–393, 569–589
partial, 552
using pointers with, 537
System, list of, 562
Subclass, 269
Substring( ), 158–159, 641–642
Subtract( ), 580
Sun Microsystems, 4
Superclass, 269
SuppressFinalize( ), 614
Suspend( ), 701–702
switch statement, 85, 88–92
enumerations and, 332, 334
goto and, 106–107
and no fall-through rule, 91–92, 107
and strings, 159–160
Symbol, 440
Synchronization, 661
deadlock, 684
interprocess, 690, 693
using an event synchronization object, 693–695
using the Interlocked class, 696–697
using a lock statement, 674–679
using the MethodImplAttribute attribute, 684–686
using Monitor methods, 679–684
using a mutex, 686–690
using a semaphore, 686, 690–693
SynchronizationLockException, 680
Synchronized( ), 715, 716, 721, 723, 724, 726, 729
Synchronous vs. asynchronous communication, 780–781
SyncRoot property, 597, 710, 731
Syntax errors, 21–22
System namespace, 19, 21, 335, 351, 362, 392, 425, 559, 561
members, lists of, 561–563
System.Action delegate, 596
System.Attribute, 471
System.AttributeUsageAttribute class, 479
System.Collections namespace, 590, 708, 709
See also Collection(s)
System.Collections.Generic, 590, 708, 734, 737
System.Collections.ObjectModel, 708
System.Collections.Specialized namespace, 708, 733
System.ComponentModel namespace, 811, 820
System.ComponentModel.Component class. See Component class
System.ComponentModel.IComponent interface. See IComponent interface
System.Delegate, 408
System.Diagnostics namespace, 479, 704
System.Diagnostics.ConditionalAttribute class, 479
System.Drawing namespace, 830, 844
System.Exception class. See Exception class
System.Globalization namespace, 570, 584, 622, 623
System.IDisposable interface, 554, 555, 809, 810
System.IO namespace, 362, 370, 425
System.IO.Stream class. See Stream class
System.Math class, 38, 189, 201
See also Math class
System.Net namespace, 777
classes, list of, 778–779
enumerations, list of, 780
interfaces, list of, 780
Internet networking using members of the, 777–803
System.Net.Sockets namespace, 777
System.Nullable<T> class, 547–548
System.Object class, 299
See also object class
System.ObsoleteAttribute, 480
System.Predicate, 594
System.Reflection namespace, 451
System.Reflection.MemberInfo, 451
See also MemberInfo class
System.Runtime.CompilerServices namespace, 684
System.Runtime.InteropServices namespace, 555
System.Security.SecurityException, 787
System.String class, 156, 619
See also String class
System.Text namespace, 159, 619, 620
System.Thread.Mutex class, 686
System.Thread.Semaphore class, 690–691
System.Threading namespace, 660, 661, 679
System.Type, 450, 451
See also Type class
System.Web namespace, 777
System.Windows.Forms, 825, 828, 829, 844
System.Windows.Forms.Control class. See Control class
SystemException, 335–336, 350