c#中类初始化方法是否带括号

KinFolk是我自定义的类,其中写了3个属性,没有写初始化方法
那么生产实例的时候,应该用下面2种的那个

区别就是new KinFolk()这里是否应该有这个“()”
我认为是该写,可是msdn上好像没有

nn.Add(new KinFolk() { FName = "Dave", Father = "Ron", Gender = "m" });

nn.Add(new KinFolk { FName = "Karen", Father = "Ron", Gender = "f" });
我发现答案是都行,不知道这是什么样的省略法????????????????????、

完整代码

List<kinfolk> nn=new List<kinfolk>();

public List<kinfolk> CreateData()
{
nn.Add(new kinfolk() {FName="Dave",Father="Ron",Gender="m"});
nn.Add(new kinfolk { FName = "Karen", Father = "Ron", Gender = "f" });

第1个回答  2009-05-03
在c#中类有两个构造函数,一个显示(就是自己定义的那个),一个隐示,及里面没有任何属性那个,在实例化的时候必须用类名 对象名=new 类名();才可以创建对象成功,然后用对象.属性的方式调用写的属性,另外,写属性最好用封装
第2个回答  2009-05-02
一共要的,这是构造函数,如果你没有写,.net会自动默认有构造函数帮你初始化的!本回答被提问者采纳
第3个回答  2009-05-03
我觉得应该有,因为 真正实例化 是new KinFolk()
KinFolk()是构造方法,所以不能少
第4个回答  2020-04-24
在对象初始化时候顺便将成员属性初始化,这是用了“初始化列表”,初始化列表是c#3.0的新特性。
常规的代码写法是:
student
s=new
student();
s.name="张氏";
这里用了初始化列表就可写为:
student
s=new
student(){
name="张氏"};
而又因student类的构造函数用的是默认构造函数,即没有参数的构造函数,所以括号可以省掉,简写为:
student
s=new
student{
name="张氏"};
以上就是这代码的演变过程,希望对你有帮助^^
第5个回答  2009-05-02
一定要

c#中类初始化方法是否带括号
在c#中类有两个构造函数,一个显示(就是自己定义的那个),一个隐示,及里面没有任何属性那个,在实例化的时候必须用类名 对象名=new 类名();才可以创建对象成功,然后用对象.属性的方式调用写的属性,另外,写属性最好用封装

c#中对象初始化是什么意思?
对象初始化分为值类型初始化和引用类型初始化,关于什么是值类型、什么是引用类型再查一下吧,在这里就不说了。值类型初始化:对象在创建时即在栈上创建了内存,里面保存的也是他的值。值类型都有默认值,所以定义int icount;时,也是在栈上创建了一个值为0的内存。引用类型实始化:对象在创建时,...

c# 中的方法为什么必须有括号
有的方法有参数,用括号可以传入参数

C# 中 类和属性前面的方括号是什么意思
对于一个类或是类的属性或方法等都会有一些特殊的性质,这就要使用[]来表示了。比如类是否可以被序列化传递,方法是否对编辑器可见,属性在属性窗口里使用的编辑器等都要使用特性来说明。比如你这堆代码里 [Column(IsPrimaryKey = true)] 这句就是说下面 CustomerID 这个类的属性是主键。

C#中new Dictionary初始化值(initializer默认值)
在C# 4.0中,初始化字典并指定默认值的方法包括集合初始化器语法,即使用大括号括起来的一系列键值对来初始化字典。此方法在处理预填充键值对到字典中的场景时特别简洁。在C# 6.0及之后版本中,字典初始化变得更为简洁,通过索引器语法进行。此方法不仅适用于字典,还适用于其他支持索引器的集合类型。

在c#中括号的作用
大括号:一般都是代码段!比如函数体、命名空间!小括号:一般是方法后面加小括号!小括号里面写对应的参数!还有一些命令语句也用小括号!while();for();这些!中括号:一般是一些集合属性需要操作具体某个值的时候!比如items[]这类的!经常用就习惯咯!不行就把鼠标放上去就能看见提示咯!

c# 程序中有时会发现类或方法上面有个中括号[]的指的是什么语法 如:[D...
引入kernel32.dll这个动态连接库。该连接库中包括很多API函数,代码如下:[DllImport("winspool.drv")] \/\/引入 public static extern bool SetDefaultPrinter(string Name); \/\/定义外部库函数 private void button2_Click(object sender, EventArgs e){ SetDefaultPrinter(textBox1.Text.Trim()); \/\/...

C#中如何辨别属性和方法??怎么样判断
属性就相当于变量,只不过它在CLASS中,而class在Namespace中的,而方法就相当于函数。其中属性是没有括号的,在类中的变量就可以认为是简单的属性,只不过C#不允许这样称呼,由property{ }定义的才是属性,而 其它的就是变量。为了适合OOP思想,在C#及Java中把函数称作方法 ...

C#中List<>的用法?
List<>是泛型,尖括号里可以放任何类,初始化的实例可以添加尖括号里类的实例,用法类似数组。using System;using System.Collections.Generic;public class A { public static void Main(){ \/\/创建一个list<string>对象Cats List<string> Cats= new List<string>();\/\/为Cats添加项 Cats.Add("Cat1...

c# 类实例化直接写为var xxx= new xxx(){}怎么理解
大括号里面可以有内容的,表示初始化成员,例如 类名 对象名 = new 类名(){成员1=值1,成员2=值2,...}

相似回答
大家正在搜