#專案:通訊錄 2017/12/21 廖惠平
##Out Lines - Lamda 語法 - LINQ 語法 - 專案實作
#Lamda 語法
##Lamda - 匿名函式 - 委派 - 搭配LINQ神器 - 方便 - 可以摸到scope內區域變數 - 不要濫用
##Lamda 以前 ``` button1.Click += button1_Click; private void button1_Click(object sender, EventArgs e) { //do something } ``` 現在 ``` button1.Click += (sender, e) => { //do something }; ```
##Lamda ``` button1.Click += (sender, e) => { //do something }; ``` - () 內放參數 - => 運算子 - {} 內放運算內容
##練習 - 簡單的按鈕計數器 - 使用Lamda語法建立按鈕Click事件
#LINQ
##LINQ - Language Integrated Query - IQueryale - IEnumerable - LINQ to SQL - LINQ to Entity - 神器
##LINQ ``` int[] numbers = new int[7] { 0, 1, 2, 3, 4, 5, 6 }; var numQuery = from num in numbers where (num % 2) == 0 select num; foreach (int num in numQuery) { label1.Text += ("{0}\n ", num); } ```
##LINQ 以前 ``` List result = new List(); foreach(var item in numbers) { if(item%2==0) { result.Add(item); } } ``` 現在 ``` var result = from num in numbers where (num % 2) == 0 select num; ```
##IEnumerable - iterator - 逐一查看 - yeild return - 效能
##擴充方法 - Where - Select - Contains - GroupBy - Join - OrderBy - 還有很多
##練習 - 從一篇英文新聞文章中取出 - 所有包含k的單字 - the的使用次數 - 使用 LINQ 語法 - 使用 LINQ + Lamda 語法
#專案:通訊錄 - 使用DataGridView - 資料基本CRUD