📜  .net c# 打印对象 - C# (1)

📅  最后修改于: 2023-12-03 14:38:46.681000             🧑  作者: Mango

.NET C# 打印对象

在C#中,我们可以使用以下方式打印对象:

1. ToString()方法

在类中,我们可以重写ToString()方法来返回一个表示类对象的字符串,然后调用这个方法来打印对象。例如:

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }

    public override string ToString()
    {
        return $"Person: {Name}, {Age} years old";
    }
}

Person p = new Person { Name = "Tom", Age = 25 };
Console.WriteLine(p.ToString());

输出:

Person: Tom, 25 years old

也可以直接调用对象的ToString()方法,它会返回对象的类型名称:

Person p = new Person { Name = "Tom", Age = 25 };
Console.WriteLine(p.ToString());  // Person
2. JSON序列化

使用JSON序列化可以将对象转换成JSON字符串,然后打印它。我们可以使用Newtonsoft.Json库来完成JSON序列化:

using Newtonsoft.Json;

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

Person p = new Person { Name = "Tom", Age = 25 };
string json = JsonConvert.SerializeObject(p);
Console.WriteLine(json);

输出:

{"Name":"Tom","Age":25}
3. XML序列化

使用XML序列化可以将对象转换成XML字符串,然后打印它。我们可以使用System.Xml.Serialization库来完成XML序列化:

using System.Xml.Serialization;
using System.IO;

class Person
{
    public string Name { get; set; }
    public int Age { get; set; }
}

Person p = new Person { Name = "Tom", Age = 25 };
XmlSerializer serializer = new XmlSerializer(typeof(Person));
using (StringWriter writer = new StringWriter())
{
    serializer.Serialize(writer, p);
    Console.WriteLine(writer.ToString());
}

输出:

<?xml version="1.0" encoding="utf-16"?>
<Person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
  <Name>Tom</Name>
  <Age>25</Age>
</Person>

以上是C#中打印对象的几种方式,我们根据实际需求选择不同的方式。