2023年4月到7月工作经历

2023年4

有同事说程序崩溃一起分析得结果

   unsigned uNum = 2;
        std::string str = "abc" + uNum;
        std::cout << str;

结果是c  。如果uNum 很大的话,就可能崩溃。

        unsigned uNum = 2;
        //std::string str = "abc" + uNum;
        std::string str = "abc" + std::to_string(uNum);
        std::cout << str;
结果才是  abc2

2023年五月

同事的自画界面退出时崩溃

我直接调试Debug发现3处直接崩溃,一沟通才知道他Debug配置没跑起来,确保他跑起来后,问题很快解决。


7月

C#空条件运算符(?.)

遇到空指针也不会崩溃,代替空指针模式。
    internal class CTest
    {
        public string m_str = "abc";
    }
    internal class Program
    {
        static void Main(string[] args)
        {
            CTest test1 = new CTest();
            CTest test2 = null;
            var ret1 = test1?.m_str;//ret1位"abc"
            var ret2 = test2?.m_str;//ret2位null
            //var ret3 = test2.m_str;//此行会崩溃
        }
    }

空合并运算符

   string str1 = "abc";
   string str2 = null;
   var ret1 = str1 ?? "def";//ret1位"abc"
   var ret2 = str2 ?? "def";//ret2为"def"
 

你可能感兴趣的:(软件架构师何志丹,C#,空合并运算符,空条件运算符,自画,崩溃,Debug,编程语言)