- Page 2 and 3:
C# in DepthLicensed to Rhona Hadida
- Page 4:
C# in DepthJON SKEETMANNINGGreenwic
- Page 7 and 8:
Licensed to Rhona Hadida
- Page 9 and 10:
Licensed to Rhona Hadida
- Page 11 and 12:
xCONTENTS1.3 The .NET platform 24Di
- Page 13 and 14:
xiiCONTENTS5.4 Inline delegate acti
- Page 15 and 16:
xivCONTENTS9.4 Changes to type infe
- Page 17 and 18:
xviCONTENTS13.2 Delegation as the n
- Page 19 and 20:
xviiiFOREWORDOf the latter kind, th
- Page 21 and 22:
xxPREFACEdidn’t start using C#2 u
- Page 23 and 24:
xxiiACKNOWLEDGMENTSThe aforemention
- Page 25 and 26:
xxivABOUT THIS BOOKwant to become e
- Page 27 and 28:
xxviABOUT THIS BOOKSQL statements.
- Page 29 and 30:
about the cover illustrationThe cap
- Page 31 and 32:
xxxCOMMENTS FROM THE TECH REVIEWThi
- Page 33 and 34: Chapter 1 presents a bird’s-eye v
- Page 35 and 36: 4 CHAPTER 1 The changing face of C#
- Page 37 and 38: 6 CHAPTER 1 The changing face of C#
- Page 39 and 40: 8 CHAPTER 1 The changing face of C#
- Page 41 and 42: 10 CHAPTER 1 The changing face of C
- Page 43 and 44: 12 CHAPTER 1 The changing face of C
- Page 45 and 46: 14 CHAPTER 1 The changing face of C
- Page 47 and 48: 16 CHAPTER 1 The changing face of C
- Page 49 and 50: 18 CHAPTER 1 The changing face of C
- Page 51 and 52: 20 CHAPTER 1 The changing face of C
- Page 53 and 54: 22 CHAPTER 1 The changing face of C
- Page 55 and 56: 24 CHAPTER 1 The changing face of C
- Page 57 and 58: 26 CHAPTER 1 The changing face of C
- Page 59 and 60: 28 CHAPTER 1 The changing face of C
- Page 61 and 62: 30 CHAPTER 1 The changing face of C
- Page 63 and 64: Core foundations:building on C# 1Th
- Page 65 and 66: 34 CHAPTER 2 Core foundations: buil
- Page 67 and 68: 36 CHAPTER 2 Core foundations: buil
- Page 69 and 70: 38 CHAPTER 2 Core foundations: buil
- Page 71 and 72: 40 CHAPTER 2 Core foundations: buil
- Page 73 and 74: 42 CHAPTER 2 Core foundations: buil
- Page 75 and 76: 44 CHAPTER 2 Core foundations: buil
- Page 77 and 78: 46 CHAPTER 2 Core foundations: buil
- Page 79 and 80: 48 CHAPTER 2 Core foundations: buil
- Page 81 and 82: 50 CHAPTER 2 Core foundations: buil
- Page 83: 52 CHAPTER 2 Core foundations: buil
- 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