在下面的代码中,我们的字典类型是<int, Customer>,但我怎么知道Customer的类型是什么?看来客户是一个字符串,因为我们是客户cust1 =新客户(1,"客户1"); .... 我糊涂了...
public class Customer
{
public Customer(int id, string name)
{
ID = id;
Name = name;
}
private int m_id;
public int ID
{
get { return m_id; }
set { m_id = value; }
}
private string m_name;
public string Name
{
get { return m_name; }
set { m_name = value; }
}
}
Dictionary<int, Customer> customers = new Dictionary<int, Customer>();
Customer cust1 = new Customer(1, "Cust 1");
Customer cust2 = new Customer(2, "Cust 2");
Customer cust3 = new Customer(3, "Cust 3");
customers.Add(cust1.ID, cust1);
customers.Add(cust2.ID, cust2);
customers.Add(cust3.ID, cust3);
foreach (KeyValuePair<int, Customer> custKeyVal in customers)
{
Console.WriteLine(
"Customer ID: {0}, Name: {1}",
custKeyVal.Key,
custKeyVal.Value.Name);
}
Run Code Online (Sandbox Code Playgroud)
甲Customer对象的类型Customer,虽然它由偶数int和一个string.当你正在调用时Customer cust1 = new Customer(1, "Cust 1");,真的说"让我成为一个Customer由整数1和字符串Cust 1组成的类型的对象"
类型Customer是Customer.A class是用户定义的类型,可以在命名字段中存储其他类型(另一种类型是a struct).
传递字符串的位置称为构造函数 - 一种设置新对象的特殊方法.在这里,它接受一个字符串并将其存储为客户的名称.