default 判断为null 为0 为布尔

发布时间 2023-10-08 22:13:39作者: ProZkb
 static void Main(string[] args)
        {
            {
                Person person = new Person()
                {
                    Name = "Test",
                    Age = 10,
                };

                if (person.Name == default || EqualityComparer<int>.Default.Equals(person.Age,default))
                {
                }
            }

            {
                string str = "90"; // 或者 string str = null;
                if (str == default)
                {
                    // str 为空
                }
                else
                {
                    // str 不为空
                }

            }

            {
                int number = default; // 默认值为 0
                if (EqualityComparer<int>.Default.Equals(number, default))
                {
                    // number 为默认值,即 0
                }
                else
                {
                    // number 不为默认值
                }
            }
        }


        public struct Person
        {
            public string Name { get; set; }
            public int Age { get; set; }
        }