举报投诉联系我们 手机版 热门标签 编程学
您的位置:编程学 > c#对象初始化器 C# 对象初始化

c#对象初始化器 C# 对象初始化

2023-02-27 09:18 C#教程

c#对象初始化器 C# 对象初始化

c#对象初始化器

C#对象初始化器是C# 3.0中引入的一种新的语法,它可以用来创建对象并为其成员赋值。它可以极大地简化代码,使得创建对象时更加简单、清晰。

C#对象初始化器的语法如下:

var obj = new ObjectType 
{ 
    Property1 = value1, 
    Property2 = value2, 
    ... 
}; 

上面的代码中,ObjectType是要创建的对象的类型,Property1、Property2是要为其赋值的成员变量,value1、value2是要为这些成员变量赋予的值。

使用C#对象初始化器可以大大减少代码量,而且更加直观易懂。例如:

 
// 利用传统方式来初始化一个Person对象  
Person person = new Person();  
person.Name = "John";  
person.Age = 20;  

 // 利用C#对象初始化器来初始化一个Person对象  
Person person = new Person { Name="John", Age=20 };  

从上面的例子中可以看出,使用C#对象初始化器可以大大减少代码量,而且更加直观易懂。此外,它还有一些其他优势:

  • 不需要显式地声明变量:
    使用C#对象初始化器时不需要显式地声明变量。因此它能够减少代码量并改进性能。
  • 不需要冗余代码:
    使用传统方式来初始化一个对象时往往需要冗余代码来实例化该对象并将其成员变量都进行相应的处理。而使用C#对象初始化器时不需要冗余代码即可实例化该对象并将其成员变量都进行相应的处理。

总之,C# 对 象 初 始 化 器 既 简 单 清 晰 ,也 有 许 多 的 优 点 ,因 此 被 许 多 C # 用 户 所 采 用 。

C# 对象初始化

C#对象初始化

任何可访问的字段或对象的属性可以在构造之后通过对象初始化器直接设置。

例如,考虑下面的类:


public class Person { 
    public string Name; 
    public bool IsWorking; 
    public bool HasChild;
    //from   ww  w  . j av  a 2 s  .c o  m
    public Person () {} 
    public Person (string n) { 
       Name = n; 
    } 
} 

使用对象初始化器,您可以如下所示实例化Person对象:


// Note parameterless constructors can omit empty parentheses 
Person b1 = new Person { Name="Jack", IsWorking=true, HasChild=false }; 
Person b2 = new Person ("Jack") { IsWorking=true, HasChild=false }; 

对象初始化程序与可选参数

我们可以使Person的构造函数接受可选参数:


public Person (string name, bool IsWorking = false, bool HasChild = false) { 
    Name = name; 
    IsWorking = IsWorking; 
    HasChild = HasChild; 
} 

这将允许我们构造一个Person如下:


Person b1 = new Person (name: "Jack", IsWorking: true); 
阅读全文
以上是编程学为你收集整理的c#对象初始化器 C# 对象初始化全部内容。
声明:本站所有文章资源内容,如无特殊说明或标注,均为采集网络资源。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
相关文章
  • c#接口的作用 C# 接口

    c#接口的作用 C# 接口

    2023-02-27 C#教程

    C#接口接口提供了一个规范而不是其成员的实现。接口作为定义和实现之间的联系。接口成员都是隐式抽象的。类或结构可以实现多个...

  • c语言布尔类型 C# 布尔类型/运算符

    c语言布尔类型 C# 布尔类型/运算符

    2023-02-26 C#教程

    C#布尔类型/运算符C#的bool类型别名System.Boolean类型是一个逻辑值,可以分配文本true或false。我们使用bool类型来表示一个tu...

  • c#常量定义 C# 常量

    c#常量定义 C# 常量

    2023-02-27 C#教程

    C#常量常量是一个静态字段,其值永远不会改变。在编译时静态评估常量。常量可以是任何内置的数字类型,bool,char,string或枚...

  • 命名和位置属性参数 C# 属性

    命名和位置属性参数 C# 属性

    2023-02-27 C#教程

    C# 属性属性可以向代码元素添加自定义信息。例如,我们可以使用属性标记一个类已被弃用。我们还可以标记一个接口是一个web服务的...

  • c#迭代器的作用 C# 迭代器

    c#迭代器的作用 C# 迭代器

    2023-02-26 C#教程

    C# 迭代器 foreach 语句是枚举器的消费者。迭代器是枚举器的生成器。在这个例子中,我们使用迭代器返回一系列斐波纳契数:using ...

© 2024 编程学 bianchengxue.com 版权所有 联系我们
桂ICP备19012293号-7 返回底部