##Out Lines
- Lamda 語法
- LINQ 語法
- 專案實作
##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
- 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