需要您的帮助,了解如何使用Main方法中的一些示例值初始化下面的对象以执行某些操作。
因为我是c#的新手请指导我在哪里可以获得这些信息
class MobOwner
{
public string Name { get; set; }
public List<string> Mobiles { get; set; }
}
答案 0 :(得分:3)
只需在您的constrcutor中初始化它:
class MobOwner
{
public string Name { get; set; }
public List<string> Mobiles { get; set; }
public MobOwner() {
this.Mobiles = new List<string>();
}
}
您还可以定义一个构造函数,direclty将正确的值放入列表中:
class MobOwner
{
public string Name { get; set; }
public List<string> Mobiles { get; set; }
public MobOwner(IEnumerable<string> values) {
this.Mobiles = values.ToList();
}
}
你可以打电话给new MobOwner(new[] { "Mario", "Hans", "Bernd" })
答案 1 :(得分:1)
你可以制作和实例并设置变量
var owner = new MobOwner();
owner.Mobiles = new List<string>{"first", "second"};
或者像这样
var owner = new MobOwner {Mobiles = new List<string> {"first", "second"}};
推荐的方法是使用一个构造函数并将set属性设为私有
class MobOwner
{
public string Name { get; private set; }
public List<string> Mobiles { get; private set; }
// constructor
public MobOwner(string name, List<string> mobiles)
{
Name = name;
Mobiles = mobiles;
}
}
答案 2 :(得分:1)
首先,我怀疑你是否真的想在set;
属性中Mobiles
:
通常我们在列表中添加/更新/删除项目,但不将列表整体分配
MobOwner sample = new MobOwner(...);
sample.MobOwner.Add("123");
sample.MobOwner.Add("456");
sample.MobOwner.RemoveAt(1);
sample.MobOwner[0] = "789";
sample.MobOwner = null; // we, usually, don't want such code
实施可以
class MobOwner {
public string Name { get; set; }
public List<string> Mobiles { get; } = new List<string>();
public MobOwner(string name, IEnumerable<string> mobiles): base() {
if (null == name)
throw new ArgumentNullException("name");
if (null == mobiles)
throw new ArgumentNullException("mobiles");
Name = name;
Mobiles.AddRange(mobiles);
}
}
答案 3 :(得分:0)
这会创建一个MobOwner
对象,其中包含一个包含一个项目的列表
MobOwner item = new MobOwner()
{
Name = "foo",
Mobiles = new List<string>() { "bar" }
};
另一种方法是添加构造函数以简化实例化
class MobOwner
{
public string Name { get; set; }
public List<string> Mobiles { get; set; }
public MobOwner(string Name, params string[] Mobiles)
{
this.Name = Name;
this.Mobiles = new List<string>(Mobiles);
}
}
用法:
MobOwner item2 = new MobOwner("foo", "bar", "bar");
答案 4 :(得分:0)
var mobOwner = new MobOwner()
{
Name = "name";
Mobiles = new List<string>()
{
"mob1",
"mob2",
"mob3"
};
};
答案 5 :(得分:0)
如果我正确理解你的目的,你想在“Main”方法中初始化这些值。
构造函数是在创建类的实例时使用默认值初始化属性的好方法。 但是,如果您想在另一个地方初始化它们,请创建您的类的实例,然后您可以为其公共成员赋值。像这样:
MobOwner mobOwner = new MobOwner();
mobOwner.Name = "Jimmy";
mobOwner.Mobiles = new List<string>{119, 011};
或者以更现代的方式,您可以像这样更改语法(尽管它们是相同的):
MobOwner mobOwner = new(){
Name = "Jimmy",
Mobiles = new List<string>{119, 011}
};