我试图将数据存储到复杂类型列表中,然后稍后打印.我试图使用属性,然后打印它,但似乎我错过了一些东西.请帮忙.
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Enter Color");
string color = Console.ReadLine();
Console.WriteLine("Enter transmition");
string transmition = Console.ReadLine();
Console.WriteLine("Enter Name");
string name = Console.ReadLine();
List<DatabaseCar> arr = new List<DatabaseCar> { };
DatabaseCar databaseCar = new DatabaseCar(color, transmition, name);
arr.Add(databaseCar);
foreach (DatabaseCar data in arr)
{
Console.WriteLine(data);
}
Console.ReadKey();
}
}
abstract class Data
{
protected string color;
protected string engine;
protected string name;
public abstract void set(string color, string engine, string name);
public string Color
{
get
{
return color;
}
}
public string Engine
{
get
{
return engine;
}
}
public string Name
{
get
{
return name;
}
}
}
class DatabaseCar : Data
{
public override void set(string color, string engine, string name)
{
this.color = color;
this.engine = engine;
this.name = name;
}
public DatabaseCar(string color, string engine, string name)
{
set(color, engine, name);
}
}
Run Code Online (Sandbox Code Playgroud)
我得到的结果是:
输入颜色:红色输入传输:手动输入名称:John ConsoleApp1.DatabaseCar
这是因为对其他一个重载没有特别支持的对象的Console.WriteLine调用ToString().ToString()默认情况下,返回Type的字符串表示形式.
要解决这个问题,你必须使用自己想要的自定义实现来覆盖ToString().
public override string ToString()
{
// construct the representation that you want and return it.
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
70 次 |
| 最近记录: |