using还可以这么写
早上在逛博客园的时候,看到一篇文章写出优雅简明代码的论题集 -- Csharp(C#)篇[1] ,代码如下:
1 public IEnumerable<Order> GetOrders()
2
3 {
4
5 var orders = new List<Order>();
6 using (var con = new SqlConnection("some connection string"))
7 {
8 using (var cmd = new SqlCommand("select * from orders", con))
9 {
10 using (var rs = cmd.ExecuteReader())
11 {
12 while (rs.Read())
13 {
14
15 // ...
16
17 }
18
19 }
20
21 }
22
23 }
24 return orders;
25 }
笔者认为上面的代码可以更加简明的写成下面的形式:
1 public IEnumerable<Order> GetOrders()
2 {
3
4 var orders = new List<Order>();
5
6 using (var con = new SqlConnection("some connection string"))
7 using (var cmd = new SqlCommand("select * from orders", con))
8 using (var rs = cmd.ExecuteReader())
9 {
10 while (rs.Read())
11 {
12 // ...
13 }
14 }
15 return orders;
16
17 }