代码之美
- 1. using
- 如果你写过下面这样的代码,那么你可以省一点,起码不用过多的缩进。
- using (SqlConnection conn = new SqlConnection())
- {
- using (SqlConnection conn2 = new SqlConnection())
- {
- }
- }
- 类型相同时,和我们一次声明多个同类型变量差不多。
- using (SqlConnection conn = new SqlConnection(), conn2 = new SqlConnection())
- {
- }
- 如果类型不同,那么就写成下面这样。
- using (MemoryStream stream = new MemoryStream())
- using (SqlConnection conn = new SqlConnection())
- {
- }
- 2. ??
- 这类代码很常见。
- public string Data
- {
- get
- {
- if (data != null)
- return data;
- else
- return "Default";
- }
- }
- 当然下面这个版本你应该比较熟悉了。
- public string Data
- {
- get
- {
- return data != null ? data : "Default";
- }
- }
- 其实还有个不常用的运算符 "??" 可以做得更简单一些。
- public string Data
- {
- get { return data ?? "Default"; }
- }
- 3. Scope
- 某些时候你或许想 "重复使用" 名为 i 的变量,那么定义 Scope 吧。
- {
- var i = 1;
- }
- {
- var i = 2;
- }
- 4. Foreach Dictionary
- var dict = new Dictionary { { "a", 1 }, { "b", 2 } };
- foreach (var key in dict.Keys)
- {
- Console.WriteLine("{0}={1}", key, dict[key]);
- }
- 或许下面这样更 "好看" 一些。
- foreach (var item in dict)
- {
- Console.WriteLine("{0}={1}", item.Key, item.Value);
- }