预编译指令和对象初始化器

1、预编译指令的概念

    预编译指令也称预处理指令,在程序编译前执行.

区域指令是预编译指令中的一种。

    #region
    ......
    #endregion

2、对象初始化器

     当类中存在很多字段时,其构造函数的重载形式有很多,将他们一一实现的话工作量很大。这是使用对象初始化器,可以直接对类中的字段进行赋值而无需实现对应的构造方法。例如:

                                                                                                                                                           

    class Person
    {
        public String name;
        public int age;
        public String address;

        public override String ToString()
        {
            return $"name = {name},age = {age}, address = {address}";
        }
    }
        static void Main(string[] args)
        {
            
            Person p1 = new Person() { };
            Person p2 = new Person() { name = "Wyhon" };
            Person p3 = new Person() { age = 20, address = "FuJian"};

            Console.WriteLine(p1.ToString());
            Console.WriteLine(p2.ToString());
            Console.WriteLine(p3.ToString());
        }
运行结果:
 

可以看出,没有被手动赋值的字段,编译器为其赋予默认值。

但有一点需要注意:使用对象初始化器时,类中必须要定义默认构造函数,自己定义或者编译器自动生成都OK。否则会报错。


猜你喜欢

转载自blog.csdn.net/hang981601026/article/details/79778213