技術文章
技術問答
My Project
iT 徵才
聊天室
2026 鐵人賽
登入/註冊
文章
問答
Tag
邦友
鐵人賽
搜尋
2026 iThome 鐵人賽
DAY
17
0
自我挑戰組
學習C#續
系列 第
17
篇
Day 17:select 子句投影作用、LINQ to Object
18th鐵人賽
413570622
2026-09-30 20:47:14
72 瀏覽
分享至
LINQ to Objects:
指的是直接針對記憶體中的資料集合(如陣列、List、Dictionary<TKey, TValue> 等實作了 IEnumerable 的集合)進行查詢。
查詢是由 .NET 內建的 LINQ 引擎直接在記憶體中逐筆計算,不需要透過 SQL 伺服器或外部轉譯引擎。
select / Select() 的投影作用(Projection):
轉換輸出形狀:將來源序列中的每一筆元素,依照指定規則「塑形」或「映射」成另一種格式或資料型別。
單一欄位擷取:從含有多個屬性的複雜物件中,僅擷取需要的單一純量值(例如將 List 轉成 List 的姓名清單)。
數值計算與格式轉換:在查詢輸出時即時運算新欄位(例如:計算打折後的價格、將西元年轉換為民國年字串)。
匿名型別(Anonymous Types):使用 new { 屬性1, 屬性2 } 即時建立一個無名、唯讀的輕量物件,只挑選前端或呼叫端真正需要的屬性(減少資料傳輸負擔)。
DTO / 具名物件轉換:將資料來源物件直接投影成業務用的資料傳輸物件(Data Transfer Object)。
帶索引投影(Indexed Select):方法語法支援多載 Select((item, index) => ...),可在投影時取得元素的序號。
實作範例
留言
追蹤
檢舉
上一篇
Day 16:LINQ(排序運算、群組運算)
下一篇
Day 18:發行者/訂閱者模式(Publisher-Subscriber Pattern)
系列文
學習C#續
共
30
篇
目錄
RSS系列文
訂閱系列文
1
人訂閱
26
Day 26: 物件導向設計原則(SOLID)與控制台架構思維
27
Day 27: 單元測試實戰(Unit Testing)
28
Day 28: 綜合實作專案(一):Console 系統架構與選單設計
29
Day 29: 綜合實作專案(二):資料庫串接、LINQ 統計與非同步匯出
30
Day 30: 專案重構、全域例外防護與 30 天學習結業回顧
完整目錄
熱門推薦
{{ item.subject }}
{{ item.channelVendor }}
|
{{ item.webinarstarted }}
|
{{ formatDate(item.duration) }}
直播中
立即報名
尚未有邦友留言
立即登入留言
iThome鐵人賽
參賽組數
929
組
團體組數
32
組
累計文章數
20296
篇
完賽人數
534
人
看影片追技術
看更多
{{ item.subject }}
{{ item.channelVendor }}
|
{{ formatDate(item.duration) }}
直播中
熱門tag
15th鐵人賽
16th鐵人賽
13th鐵人賽
18th鐵人賽
17th鐵人賽
14th鐵人賽
12th鐵人賽
11th鐵人賽
鐵人賽
2019鐵人賽
javascript
2018鐵人賽
python
2017鐵人賽
windows
php
c#
linux
windows server
css
熱門問題
熱門回答
熱門文章
[BFF_Security] Day 1:BFF 到底在 B 什麼?從「API 跑腿小弟」到「全站 Token 大逃殺」
Day 03:【主題與圖示】精選 5 款超好看主題與 File Icons 設定
Claude 值不值得付費?訂閱費與 API 帳單的 2026 年 10 月實測
[BFF_Security] Day 7:最後一哩的縱深防禦
Claude code 新手篇 10: CLAUDE.md、Memory、Skill 差在哪?讓 Claude 每次照同一套做事
IT邦幫忙
×
標記使用者
輸入對方的帳號或暱稱
Loading
找不到結果。
標記
{{ result.label }}
{{ result.account }}