温故知新——CSharp

温故知新——CSharp

关于

平时在工作学习中查找到的关于C#的小技巧,持续记录,温故知新。

技巧

  1. 使用Parallel.For()或者Parallel.Foreach()提高循环的效率;
  2. 使用PLINQ.AsParallel() 的语法来提高LINQ的运行效率,其中AsParallel() 不表示一定会使用平行运算,其执行的数目会由1、2、4、8等增加,另外AsParallel()之后可以接上另一个方法WithExecutionMode(ParallelExecutionMode.ForceParallelism),表示要强制使用平行运算;
  3. 在单元测试中,获取当前的执行路径方法:Path.GetDirectoryName(Assembly.GetExecutingAssembly().Location)
  4. 当重新丢出Exception时,请使用throw,而非throw ex用以保留call stack信息;
  5. 避免catch错误,却不做任何事情;
  6. 在判断string是否为空白时,避免使用与String.Empty或" "比较,改用String.Length = 0,效率更高;
  7. 表示空字串时,避免使用" "改用使用string.Empty ,效能较佳;
  8. 动态字串串接时(无法于当下串接所有内容),避免使用"+",改用StringBuilder,效能较佳;
  9. string忽略大小写比较时,避免使用ToLower(),改用string.Compare(),效能较佳,用法如下:string.Compare(targetStringA,"target string B",true) == 0
  10. 静态字串串接时,利用”@”来输入多行文字及避免跳脱字元;
  11. 使用string.Join()拼接字符串数组得到单个字符串;
  12. C#哈希表HashTableDictionary比较,添加数据时Hashtable快,频繁调用数据时Dictionary快。Dictionary是泛型的,当K或V是值类型时,其速度远远超过Hashtable

后记

小伙伴们发现不对的地方及时指出,一起写出更好地C#代码。

你可能感兴趣的:(温故知新——CSharp)