c#tostring方法重载
时间: 2023-07-27 09:14:35 浏览: 102
在 C# 中,我们可以重载 ToString() 方法,以便支持不同的参数和返回类型。重载 ToString() 方法可以让我们在不同的场景下使用不同的格式来表示对象。
以下是一个示例:
```csharp
class Person
{
public string Name { get; set; }
public int Age { get; set; }
public override string ToString()
{
return $"Name: {Name}, Age: {Age}";
}
public string ToString(string format)
{
switch (format.ToLower())
{
case "n":
return Name;
case "a":
return Age.ToString();
case "na":
return $"{Name}, {Age}";
default:
throw new FormatException($"The {format} format string is not supported.");
}
}
}
// 在使用时
Person person = new Person { Name = "John", Age = 30 };
Console.WriteLine(person.ToString("n")); // 输出 "John"
Console.WriteLine(person.ToString("a")); // 输出 "30"
Console.WriteLine(person.ToString("na")); // 输出 "John, 30"
```
在上面的示例中,我们重载了 Person 类中的 ToString() 方法,并添加了一个带有一个字符串参数的版本。在这个版本中,我们可以根据传入的参数来决定输出哪些属性。在使用时,我们可以像下面这样输出:
```
John
30
John, 30
```
注意,重载 ToString() 方法时,我们应该遵守相同的约定,即 ToString() 方法应该返回一个描述对象状态的字符串。我们还应该在方法名称后面添加一个带有参数的描述,以便其他开发人员能够轻松地理解这个方法的用途。
阅读全文