c# - 如何将我的数组属性包含到类构造函数中并能够通过对象初始化访问它?
问题描述
我对编程非常陌生,并且正在学习中。这是我的代码
namespace ConsoleApp9
{
class Program
{
static void Main(string[] args)
{
Person p = new Person("john", "doe", tittles:null);
Person td = new Person("tom","jones");
Person w = new Person();
Console.WriteLine(td);
Console.WriteLine(p.SayHello("vahid"));
var str = p.SayHello("nick");
Console.WriteLine(str);
p.DoSome();
var m = w.Tittles[0];
Console.WriteLine(m);
}
}
public class Person
{
public string FirstName { get; private set; }
public string LastName { get; private set; }
private string[] tittles = new string[6] {
"Mr","Mrs", "Miss","Sir", "Doctor","Sister"
};
public string[] Tittles
{
get { return tittles; }
set { tittles = value; }
}
public Person()
{
}
public Person(string firstName, string lastName)
{
FirstName = firstName;
LastName = lastName;
}
public Person(string firstName, string lastName, string[] tittles )
{
FirstName = firstName;
LastName = lastName;
Tittles = tittles;
}
public override string ToString()
{
return "Welcome to C# " + Tittles[0] + " " + FirstName + " " + LastName;
}
public string SayHello(string name)
{
return "hello " + name;
}
public void DoSome()
{
Console.WriteLine(FirstName + " "+ LastName + " this is a void method.");
}
}
}
我的问题是如何在 Person p = new Person("john", "doe", tittles:null); tittles 是我的字符串数组,例如我尝试过 tittles[1] 但最终出现错误。有没有办法做到这一点?谢谢
解决方案
这是一种方法:
Person p = new Person("john", "doe", new string[] { "one", "two" });
或者,您可以使用params
关键字来定义一个接受任意数量的字符串的构造函数:
public Person(string firstName, string lastName, params string[] tittles)
{
FirstName = firstName;
LastName = lastName;
Tittles = tittles;
}
然后,您可以创建具有任意数量标题的 Person 对象,而无需创建临时字符串数组:
Person p = new Person("john", "doe", "one", "two");
Person j = new Person("jane", "doe", "one", "two", "three");
Person td = new Person("tom", "jones", "mr");
推荐阅读
- javascript - JS setTimeout 没有延迟
- angular - Angular 6:如何获取响应状态码
- python - jupyterlab 不显示 png 图像
- sql - 检索行之间特定列不同的行
- javascript - 无法使用他们的 API 将帖子发布到 Facebook 页面
- swift - Swift - Result.Success 调用中的额外参数
- tooltip - Power BI 用户能否访问工具提示滚动条
- reactjs - React Native:映射函数作为回报
- auth0 - 如何在 auth0 中处理多个受众
- mysql - 如何根据返回值执行不同的查询?