提醒您!

此為歷史活動,如您對本活動有興趣,您可以從以下管道得到我們最新活動資訊:

活動等級:初階→中階

活動規劃

  • LINQ 心法
  • 了解各個函式運作方式
  • 避開誤區
  • 回家改 LINQ 寫法

講師的話

這些年來,我看到許多 LINQ 的使用方式存在誤區,例如 ToList、OrderBy、GroupBy、Where、ElementAt、FirstOrDefault 和 Distinct。雖然某些情況下程式結果看似正確,但遇到不同的資料就可能發生問題。我經常說,我看到別人的 LINQ 就很想改正,這也是這次活動誕生的原因。

活動的目標在於幫助參與者快速了解 LINQ 的正確使用方式,避開誤區,並有效率地運用 LINQ。有別於較完整的長期活動,這次我們不深入細節,也不包含大量範例,而是專注於 LINQ 各個函式的運作方式、使用方式以及常見誤用,教您「可以不用,但不要用錯」。

從 .NET Core 開始,LINQ 進行了重大改動,新增了多種函式,特別是效能方面的提升令人驚豔,這都歸功於 Iterator 的引入。過去 LINQ 回傳的結果多是 IEnumerable,但如今一些函式已改用經過效能優化的 Iterator 版本。

一個簡單的例子:

var list = new List { "a", "b", "c" };
var s = list.Where(a => a == "b");
CallSomething(s);

static void CallSomething(IEnumerable source)
{
    var p = source.ElementAt(0);
    // .......
}

在這裡,ElementAt 已不再使用 IEnumerable,而是透過新的 Iterator,內部結合了 List 和 Span,使 LINQ 的效能獲得了顯著提升。這意味著我們對於 LINQ 的認知需要更新,這也是我們重開這活動的主要原因。

我建議以下的族群來上這堂課

  • 不常用 LINQ
  • 常用 LINQ,但不太清楚他如何運作
  • 對自己寫的 LINQ 不太放心
  • 沒時間花4天由基礎開始打起
  • 想知道 .NET 9的LINQ 有哪些改進

4天的 LINQ 目標是從無到有,從卡卡到順暢
5小時的 LINQ 是釐清觀念,從錯誤到正確,結束後你有很大機率想回去改舊的 LINQ 程式

注意事項

  • 本活動不適合不寫程式的管理者。
  • 本活動不適合沒有C#基礎的開發者。
  • 本活動不適合沒有寫過 LINQ的開發者。
  • 結束後你有很大的機率會回頭改寫你之前的 LINQ 相關程式