第9章 LINQ to Objects——查詢內(nèi)存中
對(duì)象 517
9.1 LINQ基礎(chǔ)應(yīng)用 518
實(shí)例354 使用隱式類型局部變量實(shí)現(xiàn)字母的
大小寫(xiě)轉(zhuǎn)換 518
實(shí)例355 使用自動(dòng)實(shí)現(xiàn)屬性記錄用戶信息 519
實(shí)例356 使用對(duì)象初始化器創(chuàng)建對(duì)象并為其
屬性賦值 520
實(shí)例357 使用Lambda表達(dá)式查找指定字符串 521
實(shí)例358 使用擴(kuò)展方法顯示員工信息 522
實(shí)例359 在線程中使用匿名方法防止窗體
“假死” 524
實(shí)例360 使用Predicate委托查找年齡大于30
的員工 525
實(shí)例361 使用Action委托實(shí)現(xiàn)遍歷所有員工
信息 526
實(shí)例362 使用Func委托實(shí)現(xiàn)計(jì)算所有員工
工資總和 527
9.2 限定符操作 528
實(shí)例363 檢查序列中所有元素是否都滿足
指定條件 528
實(shí)例364 檢查序列中是否包含指定元素 529
9.3 元素操作 531
實(shí)例365 獲取指定位置的元素 531
實(shí)例366 使用LINQ生成隨機(jī)序列 532
實(shí)例367 使用LINQ初始化數(shù)組 533
實(shí)例368 使用LINQ在一個(gè)循環(huán)中遍歷多個(gè)
數(shù)組 534
實(shí)例369 篩選指定類型的元素 535
實(shí)例370 使用LINQ實(shí)現(xiàn)銷售單查詢 536
實(shí)例371 獲取某類商品最后一次銷售單價(jià) 538
9.4 使用LINQ操作字符串 539
實(shí)例372 使用LINQ生成字符串 539
實(shí)例373 查找字符串中包含的大寫(xiě)字母 540
實(shí)例374 查找字符串中包含的數(shù)字字符 541
實(shí)例375 過(guò)濾文章中包含指定單詞的句子 542
實(shí)例376 統(tǒng)計(jì)每個(gè)單詞在文章中出現(xiàn)的次數(shù) 543
實(shí)例377 查找文章中以ing結(jié)尾的單詞 544
實(shí)例378 將字符串?dāng)?shù)組按元素長(zhǎng)度分組 547
9.5 類型轉(zhuǎn)換操作 548
實(shí)例379 將數(shù)據(jù)源轉(zhuǎn)換為IEnumerable<T>類型 548
實(shí)例380 將數(shù)據(jù)源轉(zhuǎn)換為IQueryable<T>類型 549
實(shí)例381 轉(zhuǎn)換為泛型列表 550
實(shí)例382 轉(zhuǎn)換為字典類型 551
實(shí)例383 轉(zhuǎn)換為一對(duì)多字典 552
實(shí)例384 使用LINQ轉(zhuǎn)換序列或集合 554
9.6 使用LINQ操作集合 556
實(shí)例385 操作泛型列表List<T> 556
實(shí)例386 操作泛型排序列表SortedList
<TKey,TValue> 557
實(shí)例387 操作泛型雙向鏈表LinkedList<T> 558
實(shí)例388 操作泛型隊(duì)列Queue<T> 559
實(shí)例389 操作泛型堆棧Stack<T> 561
實(shí)例390 操作泛型哈希集HashSet<T> 562
實(shí)例391 操作泛型字典Dictionary
<TKey,TValue> 563
實(shí)例392 操作泛型通用集合Collection<T> 565
實(shí)例393 操作泛型綁定列表BindingList<T> 566
9.7 使用LINQ技術(shù)操作對(duì)象 567
實(shí)例394 使用LINQ技術(shù)對(duì)對(duì)象進(jìn)行篩選操作 567
實(shí)例395 使用LINQ技術(shù)對(duì)對(duì)象進(jìn)行投影操作 568
實(shí)例396 使用LINQ技術(shù)對(duì)對(duì)象進(jìn)行排序操作 570
實(shí)例397 使用LINQ技術(shù)對(duì)對(duì)象進(jìn)行聚合操作 572
實(shí)例398 使用LINQ技術(shù)對(duì)對(duì)象進(jìn)行集合操作 574
實(shí)例399 使用LINQ技術(shù)對(duì)對(duì)象進(jìn)行元素操作 576
實(shí)例400 使用LINQ技術(shù)對(duì)對(duì)象進(jìn)行聯(lián)接操作 577
實(shí)例401 使用LINQ技術(shù)獲取文件詳細(xì)信息 579
第10章 LINQ to SQL——查詢關(guān)系
數(shù)據(jù)庫(kù) 581
10.1 數(shù)據(jù)查詢 582
實(shí)例402 查詢單表數(shù)據(jù) 582
實(shí)例403 獲取與Not Exists等價(jià)的語(yǔ)句 585
實(shí)例404 按多個(gè)字段降序排序數(shù)據(jù)表 586
實(shí)例405 關(guān)聯(lián)查詢多表數(shù)據(jù) 587
實(shí)例406 按照多個(gè)條件分組 588
實(shí)例407 實(shí)現(xiàn)LINQ動(dòng)態(tài)查詢的方法 589
10.2 聚合操作 591
實(shí)例408 Count操作——統(tǒng)計(jì)每種商品的
銷售次數(shù) 591
實(shí)例409 Sum操作——統(tǒng)計(jì)每種商品的
銷售總額 592
實(shí)例410 Max操作——統(tǒng)計(jì)每種商品的
最高銷售價(jià) 593
實(shí)例411 Min操作——統(tǒng)計(jì)每種商品的
最低銷售價(jià) 594
實(shí)例412 Average操作——統(tǒng)計(jì)每種商品的
銷售均價(jià) 595
實(shí)例413 Aggregate操作——統(tǒng)計(jì)月銷售額 596
10.3 集合操作 597
實(shí)例414 Distinct操作——去除重復(fù)的
返貨記錄 597
實(shí)例415 差集操作——獲取從未返過(guò)貨的
商品列表 598
實(shí)例416 交集操作——獲取有過(guò)返貨記錄的
商品列表 599
實(shí)例417 并集操作——查詢每種商品的
銷售總數(shù) 600
10.4 DataContext類的方法 601
實(shí)例418 檢測(cè)數(shù)據(jù)庫(kù)是否存在 601
實(shí)例419 直接執(zhí)行SQL查詢 602
10.5 數(shù)據(jù)操作 603
實(shí)例420 生成LINQ to SQL對(duì)象模型 603
實(shí)例421 獲取數(shù)據(jù)庫(kù)連接信息 606
實(shí)例422 使用LINQ技術(shù)查詢SQL數(shù)據(jù)庫(kù)中
的數(shù)據(jù) 608
實(shí)例423 使用LINQ技術(shù)向SQL數(shù)據(jù)庫(kù)中
添加數(shù)據(jù) 610
實(shí)例424 使用LINQ技術(shù)在SQL數(shù)據(jù)庫(kù)中
修改數(shù)據(jù) 611
實(shí)例425 使用LINQ技術(shù)在SQL數(shù)據(jù)庫(kù)中
刪除數(shù)據(jù) 612
實(shí)例426 使用存儲(chǔ)過(guò)程查詢單表數(shù)據(jù) 613
實(shí)例427 使用SQL Server中的函數(shù)過(guò)濾數(shù)據(jù) 615
實(shí)例428 根據(jù)外鍵獲取主表信息 616
實(shí)例429 使用LINQ為列表控件提供數(shù)據(jù) 617
實(shí)例430 使用LINQ技術(shù)防止SQL注入式攻擊 618
實(shí)例431 使用LINQ技術(shù)實(shí)現(xiàn)數(shù)據(jù)分頁(yè) 620
第11章 LINQ to DataSet——查詢
ADO.NET數(shù)據(jù)集 623
11.1 數(shù)據(jù)查詢 624
實(shí)例432 使用LINQ技術(shù)查詢DataSet中的
單個(gè)表 624
實(shí)例433 使用LINQ技術(shù)對(duì)DataSet進(jìn)行
投影操作 625
實(shí)例434 使用LINQ技術(shù)查詢DataSet中的
多個(gè)表 626
實(shí)例435 使用LINQ技術(shù)對(duì)DataSet進(jìn)行
篩選操作 627
實(shí)例436 使用LINQ技術(shù)對(duì)DataSet進(jìn)行
排序操作 628
11.2 數(shù)據(jù)分區(qū)操作 629
實(shí)例437 從頭開(kāi)始提取指定數(shù)量的記錄 629
實(shí)例438 從頭開(kāi)始提取滿足指定條件的記錄 631
實(shí)例439 跳過(guò)序列中指定數(shù)量的記錄 632
實(shí)例440 跳過(guò)滿足指定條件的記錄 633
11.3 類型轉(zhuǎn)換操作 634
實(shí)例441 將查詢結(jié)果轉(zhuǎn)換為DataTable 634
實(shí)例442 將查詢結(jié)果轉(zhuǎn)換為DataView 635
11.4 其他操作 636
實(shí)例443 聚合操作——按客戶分組匯總
銷售金額 636
實(shí)例444 使用LINQ技術(shù)對(duì)DataSet進(jìn)行
元素操作 637
實(shí)例445 使用LINQ技術(shù)查詢前5名數(shù)據(jù) 639
實(shí)例446 使用LINQ技術(shù)對(duì)數(shù)據(jù)進(jìn)行排序 640
實(shí)例447 使用LINQ技術(shù)統(tǒng)計(jì)員工的工資總額 641
第12章 LINQ to XML——操作XML文件 643
12.1 XML文件基本操作 644
實(shí)例448 使用LINQ技術(shù)創(chuàng)建XML文件 644
實(shí)例449 使用LINQ技術(shù)對(duì)XML文件進(jìn)行讀取 645
12.2 查詢操作 647
實(shí)例450 查找根元素 647
實(shí)例451 查找指定名稱的元素 648
實(shí)例452 查找指定屬性的元素 649
實(shí)例453 遍歷指定節(jié)點(diǎn)下的所有對(duì)象 650
實(shí)例454 只返回指定節(jié)點(diǎn)下的注釋 652
實(shí)例455 訪問(wèn)指定節(jié)點(diǎn)的父節(jié)點(diǎn) 653
實(shí)例456 返回節(jié)點(diǎn)集合中每個(gè)節(jié)點(diǎn)的所有
上級(jí)節(jié)點(diǎn) 654
實(shí)例457 返回節(jié)點(diǎn)集合中每個(gè)節(jié)點(diǎn)的所有
下級(jí)節(jié)點(diǎn) 656
實(shí)例458 返回元素集合中每個(gè)元素的所有
屬性 657
12.3 元素操作 659
實(shí)例459 使用LINQ技術(shù)向XML文件中
添加數(shù)據(jù) 659
實(shí)例460 使用LINQ技術(shù)修改XML文件中
的數(shù)據(jù) 660
實(shí)例461 替換指定節(jié)點(diǎn)下的所有元素 661
實(shí)例462 使用LINQ技術(shù)刪除XML文件中的
數(shù)據(jù) 662
實(shí)例463 合計(jì)XML元素值 664
12.4 屬性操作 665
實(shí)例464 添加屬性到XML文件 665
實(shí)例465 修改元素的屬性值 666
實(shí)例466 刪除一個(gè)元素的所有屬性 667
實(shí)例467 將XML文件中的屬性轉(zhuǎn)換為元素 669
12.5 其他操作 670
實(shí)例468 添加注釋到XML文件 670
實(shí)例469 添加聲明到XML文件 671
實(shí)例470 添加文檔類型到XML文件 672
實(shí)例471 使用LINQ to XML轉(zhuǎn)換XML 673
實(shí)例472 讀取XML文件并更新到數(shù)據(jù)庫(kù) 676