我对c#相对较新,而且我在路上遇到了一些冲击,我不知道如何做到这一点。我的问题的一个例子是:
有30个人,每个人都有一个他/她独有的名字,以及他/她独有的年龄。
有没有办法创建一个“人”,并且有多个实例,每个实例包含不同的变量值,而不必为person1name-person30name person1age-person30age ...
声明个别变量我问这个的原因是因为如果所说的“人”有超过10或20个不同的变量,那么最多可以有300到600个单独声明的变量......
我希望这是有道理的,因为我不太善于解释这些事情。
答案 0 :(得分:1)
首先,您需要创建一个类来保存您的" Person"对象:
public class Person
{
public string FirstName { get; set; }
public string LastName { get; set; }
public string ID { get; set; }
}
然后你需要在某处创建一个Person
个对象的列表。要创建大量的对象,可以创建List
或其他集合类型对象。
public void SomeCreationMethod()
{
List<Person> people = new List<Person>();
people.Add(new Person() { FirstName = "John", LastName = "Doe", ID = "ABC123" });
people.Add(new Person() { FirstName = "Jane", LastName = "Doe", ID = "ABC124" });
people.Add(new Person() { FirstName = "Jack", LastName = "Doe", ID = "ABC125" });
people.Add(new Person() { FirstName = "Jill", LastName = "Doe", ID = "ABC126" });
}
可以从数据库,文本文件,网络服务等中读取Person
个对象。然后,您可以通过索引引用它们。如果要通过其他类型的标识符引用它们,可以创建字典:
Dictionary<string, Person> people = new Dictionary<string, Person>();
people.Add("ABC123", new Person() { FirstName = "John", LastName = "Doe", ID = "ABC123" });
然后您可以使用以下方式退出:
var johnDoe = people["ABC123"];
您应该阅读面向对象的编程和集合。
http://www.codeproject.com/Articles/219869/Object-Oriented-Programming-in-Csharp-NET https://msdn.microsoft.com/en-us/library/ybcx56wz.aspx
答案 1 :(得分:0)
首先,我建议你google Object Oriented Programming并了解它的不同方面。我会尝试总结一下你的问题。
将某人视为个人对象。唯一的名称和年龄就像变量。您可以n=[]
a="02081516171821242936374750565865666871737476".split('')
while(a.length) n.push(a.splice(0,2).join(''))
人员值。把get()
想象成一种询问这个人的方式,“你叫什么名字?”或“你的(插入数据)是什么?”
您还需要一种“创造”您的人的方法。这是通过getters
完成的,我的小片段是您将姓名和年龄设置为特定值的地方。如果参数在某种形状或形式上有所不同,您可以拥有多个构造函数。示例为Constructors
,然后有一个Person(string, int)
...等等。
Person(string, string)
现在你可以出去做每个人的多个实例。
public class Person
{
private string _name;
private int _age;
//more variables
Person(string name, int age)
{
this._name = name;
this._age = age;
}
public int GetAge()
{
return age;
}
//... more getters. NOTE there is a way of doing this called "Accessors"
public int Age { get; set; }
}
您有三个不同的Person p1 = new Person("Mark", 15);
Person p2 = new Person("Mark", 24);
Person p3 = new Person("Henry", 12);
个对象实例。现在一种很好的存储方法是使用人员列表。这可以通过Person
来完成。我会让你查看如何添加和删除列表...等等。但是这是你的问题,为你的基本理解和个人工具做好准备,因为你研究更多关于OOP。欢呼声。