从字典打印时,为什么要获取namespace.object的输出?
这是我的数据对象.
namespace MoleCalculator
{
public class elementDO
{
public int AtomicNumber { get; set; }
public string Symbol { get; set; }
public string Name { get; set; }
public decimal AtomicWeight { get; set; }
}
}
Run Code Online (Sandbox Code Playgroud)
这是包含我字典的类
namespace MoleCalculator
{
public class elementDictionary
{
public Dictionary<int, elementDO> periodic_Table = new Dictionary<int, elementDO>()
{
{1,new elementDO{AtomicNumber = 1,Symbol = "H",Name = "Hydrogen", AtomicWeight = 1.007825M}},
Run Code Online (Sandbox Code Playgroud)
这就是驱动它的原因
var elements = new elementDictionary().periodic_Table;
Console.WriteLine(elements[1]);
Run Code Online (Sandbox Code Playgroud)
您需要覆盖ToString,因为默认实现仅返回命名空间和类名.我已经为您提供了一个关于如何覆盖的示例ToString
:
public class elementDO
{
public int AtomicNumber { get; set; }
public string Symbol { get; set; }
public string Name { get; set; }
public decimal AtomicWeight { get; set; }
public override string ToString()
{
return $"AtomicNumber: {AtomicNumber}. Symbol: {Symbol}. Name: {Name}. AtomicWeight: {AtomicNumber}";
}
}
Run Code Online (Sandbox Code Playgroud)
您的代码与上面提到的实现一起ToString
将给出输出:
AtomicNumber: 1. Symbol: H. Name: Hydrogen. AtomicWeight: 1