读书--编写高质量代码 改善C#程序的157个建议2

    重新从图书馆将这本书借出来,看一遍似乎记不住,这次打算看一点就记录点,记录下自己容易忘记的知识点,便于记住。

    建议1:正确使用字符串:

          1    string str1= "helloworld" + 1;

          2    string str2 = "helloworld" + 1.toString()

          第二句比第一句好,因为第1句要讲int,装箱成string. 第二句调用非托管方法,效率高

          另外 StringBuilder一次分配16位的内存,当存储大于16个字符的时候,再加16,一直往后

          string.Format实际上调用了StringBuilder实现

    建议3: 区别对待强制转型与as和is

         强制转型如果失败会抛出异常,而as不会,失败就为null。is是用来判断类型的

   建议4:TryParse比Parse好

         因为TryParse失败的时候不会抛异常,而Parse会。异常处理会耗时些

   建议5:使用int?来确保值类型可以为null

      int? i = null

      等同于  Nullable<int> i = null;

      看到个以前没有见过的语法:  int j = i ?? 0;  如果i的HasValue为true,则将i 的value赋值给j;否则,就给j赋值为0

原文地址:https://www.cnblogs.com/dengkun/p/3383294.html