- Page 2 and 3: C# in DepthLicensed to Rhona Hadida
- Page 6 and 7: For family, friends, colleagues,and
- Page 8 and 9: ief contentsPART 1 PREPARING FOR TH
- Page 10 and 11: contentsforeword xviipreface xixack
- Page 12 and 13: CONTENTSxi3.4 Advanced generics 85S
- Page 14 and 15: CONTENTSxiii7.7 Exposing internal m
- Page 16 and 17: CONTENTSxv11.4 Let clauses and tran
- Page 18 and 19: forewordThere are two kinds of pian
- Page 20 and 21: prefaceI have a sneaking suspicion
- Page 22 and 23: acknowledgmentsI had a wonderful ti
- Page 24 and 25: about this bookThis is a book about
- Page 26 and 27: ABOUT THIS BOOKxxvtopics are often
- Page 28 and 29: ABOUT THIS BOOKxxviiThe Author Onli
- Page 30 and 31: comments from the tech reviewTechni
- Page 32 and 33: Part 1Preparing for the journeyEver
- Page 34 and 35: The changing faceof C# developmentT
- Page 36 and 37: Evolution in action: examples of co
- Page 38 and 39: Evolution in action: examples of co
- Page 40 and 41: Evolution in action: examples of co
- Page 42 and 43: Evolution in action: examples of co
- Page 44 and 45: Evolution in action: examples of co
- Page 46 and 47: Evolution in action: examples of co
- Page 48 and 49: Evolution in action: examples of co
- Page 50 and 51: A brief history of C# (and related
- Page 52 and 53: A brief history of C# (and related
- Page 54 and 55:
A brief history of C# (and related
- Page 56 and 57:
The .NET platform25.NET Passport de
- Page 58 and 59:
The .NET platform27■■C# (the ve
- Page 60 and 61:
Fully functional code in snippet fo
- Page 62 and 63:
Summary311.5 SummaryIn this chapter
- Page 64 and 65:
Delegates33understanding of all the
- Page 66 and 67:
Delegates35FINDING AN APPROPRIATE M
- Page 68 and 69:
Delegates37A COMPLETE EXAMPLE AND S
- Page 70 and 71:
Delegates39without worrying about c
- Page 72 and 73:
Delegates41Likewise, when you subsc
- Page 74 and 75:
Type system characteristics43STATIC
- Page 76 and 77:
Type system characteristics45for a
- Page 78 and 79:
Type system characteristics47public
- Page 80 and 81:
Value types and reference types49On
- Page 82 and 83:
Value types and reference types51th
- Page 84:
Value types and reference types53pa
- Page 87 and 88:
56 CHAPTER 2 Core foundations: buil
- Page 89 and 90:
58 CHAPTER 2 Core foundations: buil
- Page 91 and 92:
Licensed to Rhona Hadida
- Page 93 and 94:
Having covered the major, complex n
- Page 95 and 96:
64 CHAPTER 3 Parameterized typing w
- Page 97 and 98:
66 CHAPTER 3 Parameterized typing w
- Page 99 and 100:
68 CHAPTER 3 Parameterized typing w
- Page 101 and 102:
70 CHAPTER 3 Parameterized typing w
- Page 103 and 104:
72 CHAPTER 3 Parameterized typing w
- Page 105 and 106:
74 CHAPTER 3 Parameterized typing w
- Page 107 and 108:
76 CHAPTER 3 Parameterized typing w
- Page 109 and 110:
78 CHAPTER 3 Parameterized typing w
- Page 111 and 112:
80 CHAPTER 3 Parameterized typing w
- Page 113 and 114:
82 CHAPTER 3 Parameterized typing w
- Page 115 and 116:
84 CHAPTER 3 Parameterized typing w
- Page 117 and 118:
86 CHAPTER 3 Parameterized typing w
- Page 119 and 120:
88 CHAPTER 3 Parameterized typing w
- Page 121 and 122:
90 CHAPTER 3 Parameterized typing w
- Page 123 and 124:
92 CHAPTER 3 Parameterized typing w
- Page 125 and 126:
94 CHAPTER 3 Parameterized typing w
- Page 127 and 128:
96 CHAPTER 3 Parameterized typing w
- Page 129 and 130:
98 CHAPTER 3 Parameterized typing w
- Page 131 and 132:
100 CHAPTER 3 Parameterized typing
- Page 133 and 134:
102 CHAPTER 3 Parameterized typing
- Page 135 and 136:
104 CHAPTER 3 Parameterized typing
- Page 137 and 138:
106 CHAPTER 3 Parameterized typing
- Page 139 and 140:
108 CHAPTER 3 Parameterized typing
- Page 141 and 142:
110 CHAPTER 3 Parameterized typing
- Page 143 and 144:
Saying nothingwith nullable typesTh
- Page 145 and 146:
114 CHAPTER 4 Saying nothing with n
- Page 147 and 148:
116 CHAPTER 4 Saying nothing with n
- Page 149 and 150:
118 CHAPTER 4 Saying nothing with n
- Page 151 and 152:
120 CHAPTER 4 Saying nothing with n
- Page 153 and 154:
122 CHAPTER 4 Saying nothing with n
- Page 155 and 156:
124 CHAPTER 4 Saying nothing with n
- Page 157 and 158:
126 CHAPTER 4 Saying nothing with n
- Page 159 and 160:
128 CHAPTER 4 Saying nothing with n
- Page 161 and 162:
130 CHAPTER 4 Saying nothing with n
- Page 163 and 164:
132 CHAPTER 4 Saying nothing with n
- Page 165 and 166:
134 CHAPTER 4 Saying nothing with n
- Page 167 and 168:
136 CHAPTER 4 Saying nothing with n
- Page 169 and 170:
138 CHAPTER 5 Fast-tracked delegate
- Page 171 and 172:
140 CHAPTER 5 Fast-tracked delegate
- Page 173 and 174:
142 CHAPTER 5 Fast-tracked delegate
- Page 175 and 176:
144 CHAPTER 5 Fast-tracked delegate
- Page 177 and 178:
146 CHAPTER 5 Fast-tracked delegate
- Page 179 and 180:
148 CHAPTER 5 Fast-tracked delegate
- Page 181 and 182:
150 CHAPTER 5 Fast-tracked delegate
- Page 183 and 184:
152 CHAPTER 5 Fast-tracked delegate
- Page 185 and 186:
154 CHAPTER 5 Fast-tracked delegate
- Page 187 and 188:
156 CHAPTER 5 Fast-tracked delegate
- Page 189 and 190:
158 CHAPTER 5 Fast-tracked delegate
- Page 191 and 192:
160 CHAPTER 5 Fast-tracked delegate
- Page 193 and 194:
162 CHAPTER 6 Implementing iterator
- Page 195 and 196:
164 CHAPTER 6 Implementing iterator
- Page 197 and 198:
166 CHAPTER 6 Implementing iterator
- Page 199 and 200:
168 CHAPTER 6 Implementing iterator
- Page 201 and 202:
170 CHAPTER 6 Implementing iterator
- Page 203 and 204:
172 CHAPTER 6 Implementing iterator
- Page 205 and 206:
174 CHAPTER 6 Implementing iterator
- Page 207 and 208:
176 CHAPTER 6 Implementing iterator
- Page 209 and 210:
178 CHAPTER 6 Implementing iterator
- Page 211 and 212:
180 CHAPTER 6 Implementing iterator
- Page 213 and 214:
182 CHAPTER 6 Implementing iterator
- Page 215 and 216:
184 CHAPTER 7 Concluding C# 2: the
- Page 217 and 218:
186 CHAPTER 7 Concluding C# 2: the
- Page 219 and 220:
188 CHAPTER 7 Concluding C# 2: the
- Page 221 and 222:
190 CHAPTER 7 Concluding C# 2: the
- Page 223 and 224:
192 CHAPTER 7 Concluding C# 2: the
- Page 225 and 226:
194 CHAPTER 7 Concluding C# 2: the
- Page 227 and 228:
196 CHAPTER 7 Concluding C# 2: the
- Page 229 and 230:
198 CHAPTER 7 Concluding C# 2: the
- Page 231 and 232:
200 CHAPTER 7 Concluding C# 2: the
- Page 233 and 234:
202 CHAPTER 7 Concluding C# 2: the
- Page 235 and 236:
204 CHAPTER 7 Concluding C# 2: the
- Page 237 and 238:
They do, of course—and that’s t
- Page 239 and 240:
208 CHAPTER 8 Cutting fluff with a
- Page 241 and 242:
210 CHAPTER 8 Cutting fluff with a
- Page 243 and 244:
212 CHAPTER 8 Cutting fluff with a
- Page 245 and 246:
214 CHAPTER 8 Cutting fluff with a
- Page 247 and 248:
216 CHAPTER 8 Cutting fluff with a
- Page 249 and 250:
218 CHAPTER 8 Cutting fluff with a
- Page 251 and 252:
220 CHAPTER 8 Cutting fluff with a
- Page 253 and 254:
222 CHAPTER 8 Cutting fluff with a
- Page 255 and 256:
224 CHAPTER 8 Cutting fluff with a
- Page 257 and 258:
226 CHAPTER 8 Cutting fluff with a
- Page 259 and 260:
228 CHAPTER 8 Cutting fluff with a
- Page 261 and 262:
Lambda expressionsand expression tr
- Page 263 and 264:
232 CHAPTER 9 Lambda expressions an
- Page 265 and 266:
234 CHAPTER 9 Lambda expressions an
- Page 267 and 268:
236 CHAPTER 9 Lambda expressions an
- Page 269 and 270:
238 CHAPTER 9 Lambda expressions an
- Page 271 and 272:
240 CHAPTER 9 Lambda expressions an
- Page 273 and 274:
242 CHAPTER 9 Lambda expressions an
- Page 275 and 276:
244 CHAPTER 9 Lambda expressions an
- Page 277 and 278:
246 CHAPTER 9 Lambda expressions an
- Page 279 and 280:
248 CHAPTER 9 Lambda expressions an
- Page 281 and 282:
250 CHAPTER 9 Lambda expressions an
- Page 283 and 284:
252 CHAPTER 9 Lambda expressions an
- Page 285 and 286:
254 CHAPTER 9 Lambda expressions an
- Page 287 and 288:
256 CHAPTER 10 Extension methodsone
- Page 289 and 290:
258 CHAPTER 10 Extension methodsLis
- Page 291 and 292:
260 CHAPTER 10 Extension methodsusi
- Page 293 and 294:
262 CHAPTER 10 Extension methodsnam
- Page 295 and 296:
264 CHAPTER 10 Extension methodsThe
- Page 297 and 298:
266 CHAPTER 10 Extension methodsTha
- Page 299 and 300:
268 CHAPTER 10 Extension methodshar
- Page 301 and 302:
270 CHAPTER 10 Extension methodsIGr
- Page 303 and 304:
272 CHAPTER 10 Extension methodsRet
- Page 305 and 306:
274 CHAPTER 10 Extension methodsFew
- Page 307 and 308:
276 CHAPTER 11 Query expressions an
- Page 309 and 310:
278 CHAPTER 11 Query expressions an
- Page 311 and 312:
280 CHAPTER 11 Query expressions an
- Page 313 and 314:
282 CHAPTER 11 Query expressions an
- Page 315 and 316:
284 CHAPTER 11 Query expressions an
- Page 317 and 318:
286 CHAPTER 11 Query expressions an
- Page 319 and 320:
288 CHAPTER 11 Query expressions an
- Page 321 and 322:
290 CHAPTER 11 Query expressions an
- Page 323 and 324:
292 CHAPTER 11 Query expressions an
- Page 325 and 326:
294 CHAPTER 11 Query expressions an
- Page 327 and 328:
296 CHAPTER 11 Query expressions an
- Page 329 and 330:
298 CHAPTER 11 Query expressions an
- Page 331 and 332:
300 CHAPTER 11 Query expressions an
- Page 333 and 334:
302 CHAPTER 11 Query expressions an
- Page 335 and 336:
304 CHAPTER 11 Query expressions an
- Page 337 and 338:
306 CHAPTER 11 Query expressions an
- Page 339 and 340:
308 CHAPTER 11 Query expressions an
- Page 341 and 342:
310 CHAPTER 11 Query expressions an
- Page 343 and 344:
312 CHAPTER 11 Query expressions an
- Page 345 and 346:
LINQ beyond collectionsThis chapter
- Page 347 and 348:
316 CHAPTER 12 LINQ beyond collecti
- Page 349 and 350:
318 CHAPTER 12 LINQ beyond collecti
- Page 351 and 352:
320 CHAPTER 12 LINQ beyond collecti
- Page 353 and 354:
322 CHAPTER 12 LINQ beyond collecti
- Page 355 and 356:
324 CHAPTER 12 LINQ beyond collecti
- Page 357 and 358:
326 CHAPTER 12 LINQ beyond collecti
- Page 359 and 360:
328 CHAPTER 12 LINQ beyond collecti
- Page 361 and 362:
330 CHAPTER 12 LINQ beyond collecti
- Page 363 and 364:
332 CHAPTER 12 LINQ beyond collecti
- Page 365 and 366:
334 CHAPTER 12 LINQ beyond collecti
- Page 367 and 368:
336 CHAPTER 12 LINQ beyond collecti
- Page 369 and 370:
338 CHAPTER 12 LINQ beyond collecti
- Page 371 and 372:
340 CHAPTER 12 LINQ beyond collecti
- Page 373 and 374:
342 CHAPTER 12 LINQ beyond collecti
- Page 375 and 376:
344 CHAPTER 12 LINQ beyond collecti
- Page 377 and 378:
346 CHAPTER 12 LINQ beyond collecti
- Page 379 and 380:
348 CHAPTER 12 LINQ beyond collecti
- Page 381 and 382:
350 CHAPTER 12 LINQ beyond collecti
- Page 383 and 384:
Elegant codein the new eraThis chap
- Page 385 and 386:
354 CHAPTER 13 Elegant code in the
- Page 387 and 388:
356 CHAPTER 13 Elegant code in the
- Page 389 and 390:
358 CHAPTER 13 Elegant code in the
- Page 391 and 392:
360 APPENDIX LINQ standard query op
- Page 393 and 394:
362 APPENDIX LINQ standard query op
- Page 395 and 396:
364 APPENDIX LINQ standard query op
- Page 397 and 398:
366 APPENDIX LINQ standard query op
- Page 399 and 400:
368 APPENDIX LINQ standard query op
- Page 401 and 402:
370 APPENDIX LINQ standard query op
- Page 403 and 404:
372INDEXarchitecture 275AreaCompare
- Page 405 and 406:
374INDEXCOM 211See also Component O
- Page 407 and 408:
376INDEXDataTableExtensions 334-335
- Page 409 and 410:
378INDEXexplicit typing 43, 214, 35
- Page 411 and 412:
380INDEXIIBM 20ICloneable 46, 100IC
- Page 413 and 414:
382INDEXlambda expressions (continu
- Page 415 and 416:
384INDEXMSDNconfusing join terminol
- Page 417 and 418:
386INDEXpatterns 131, 136for compar
- Page 419 and 420:
388INDEXsecurity permissions 319see
- Page 421 and 422:
390INDEXSynchronizedKeyedCollection
- Page 423:
392INDEXVisual Studio 2008 (continu