c#对象转换为字符串,以文本格式显示
本文关键字:文本 格式 显示 字符串 对象 转换 | 更新日期: 2023-09-27 18:19:22
我有下一个对象/列表"ListaDatos",我喜欢把它作为清晰的字符串(可视化/通过邮件等发送)
public List<Datos> ListaDatos = new List<Datos>();
public class Datos
{
public string Numero;
public string Alias;
public string URLConsumo;
//-- Consumos -----------------------------
public List<Consumo> Consumos = new List<Consumo>();
public string ConsumoTotal;
}
public class Consumo
{
public string Tipo;
public string Subtipo;
public string Concepto;
public string Cantidad;
public string Importe;
public string Total;
}
什么是最简单的方法来"渲染"这个对象为文本,以获得一个字符串变量像这样:
DATOS
Numero : 10
Alias : "aaaaa"
urlConsumo : "www.aaaaaaaaaaaaa"
Consumos
Tipo : "abc"
SubTtipo : "aaa"
...
DATOS
Numero : 10
Alias : "aaaaa"
urlConsumo : "www.aaaaaaaaaaaaa"
Consumos
Tipo : "abc"
SubTtipo : "aaa"
...
为Consumo
类实现ToString()
方法,然后为Consumo
类使用ToString()
方法为Datos
类实现ToString()
方法。
您必须重写"ToString"默认函数,如:
public class Consumo
{
public string Tipo;
public string Subtipo;
public string Concepto;
public string Cantidad;
public string Importe;
public string Total;
public override string ToString()
{
return Tipo + " 'n " + Subtipo + " 'n "... etc;
}
}
请参考c#开发指南中的转义序列部分…http://msdn.microsoft.com/en-us/library/h21280bw.aspx或http://msdn.microsoft.com/en-us/netframework/aa569608
当字符串表示用于可视化和类似目的时,最好的方法是覆盖ToString
方法。从嵌套最多的类型开始,然后沿着层次结构往上走。使用嵌套对象的ToString
来实现外部对象的ToString
。一个非常有用的格式化对象集合的方法是string.Join()
:它允许你在不显式循环的情况下格式化集合。