C#中的常用ToString()方法总结
在C#编程中,ToString()方法是十分常用的方法之一。它用于将一个对象转化为字符串表示形式。本篇攻略将详细讲解C#中常用的ToString()方法及其用法。
ToString()方法的基本用法
在C#中,ToString()方法是定义在Object类中的虚方法,它可以被任意类型重写。因为所有类型都继承自Object类,所以所有类型都可以使用ToString()方法。当我们调用一个对象的ToString()方法时,如果该对象没有重写ToString()方法,则会默认调用Object类中的ToString()方法,该方法返回该对象所属类型的完全限定名。
示例代码如下:
using System;
class Program
{
static void Main(string[] args)
{
int i = 10;
Console.WriteLine("ToString()方法的基本用法:");
Console.WriteLine(i.ToString()); // 输出 "10"
Console.WriteLine(i.GetType().ToString()); // 输出 "System.Int32"
}
}
上述示例中,我们使用了int型变量i,调用了它的ToString()方法,并分别输出了其ToString()方法返回的字符串与其类型的字符串表示形式。
ToString()方法的重载格式
ToString()方法可以被重载,可以接收不同的格式参数。这些参数可以使ToString()方法在输出对象时更具有可读性。
以下是一些常用的ToString()方法的重载格式:
1. 格式化字符串
ToString()可以接受格式字符串,从而将对象中的值按照一定的格式输出。格式化字符串的形式类似"格式化标识符:格式化参数",其中格式化标识符表示需要格式化的值的类型,而格式化参数表示需要使用的格式。
以下是一些常用的格式化标识符:
标识符 | 描述 |
---|---|
c | 输出货币格式字符串 |
d | 输出整数格式字符串 |
e | 输出科学计数法格式字符串 |
f | 输出定点格式字符串 |
g | 输出定点或科学计数法格式字符串 |
n | 输出数字格式字符串 |
p | 输出百分比格式字符串 |
x | 输出十六进制格式字符串 |
示例代码如下:
using System;
class Program
{
static void Main(string[] args)
{
double d = 1.234567;
Console.WriteLine("格式化字符串:");
Console.WriteLine(d.ToString("F2")); // 输出 "1.23"
Console.WriteLine(d.ToString("E")); // 输出 "1.234567E+000"
Console.WriteLine(d.ToString("P2")); // 输出 "123.46 %"
Console.WriteLine(d.ToString("X")); // 输出 "3F279A7DEB4F"
}
}
上述示例中,我们使用了double型变量d,并使用了ToString()函数的Format字符串重载格式,按照"F2"、"E"、"P2"、"X"的格式输出。
2. IFormatProvider
ToString()方法还可以接收一个实现IFormatProvider接口的对象,用于指定数字或日期格式字符串的区域设置。通过实现IFormatProvider接口,我们可以将ToString()方法的输出转化为相应的语言或地区的本地化格式。
示例代码如下:
using System;
class Program
{
static void Main(string[] args)
{
double d = 123456.789;
Console.WriteLine("IFormatProvider:");
Console.WriteLine(d.ToString("C", System.Globalization.CultureInfo.CreateSpecificCulture("en-US"))); // 输出 "$123,456.79"
Console.WriteLine(d.ToString("C", System.Globalization.CultureInfo.CreateSpecificCulture("zh-CN"))); // 输出 "¥123,456.79"
}
}
上述示例中,我们使用了double型变量d,并使用了ToString()函数的IFormatProvider重载格式,分别使用英美和中文地区的本地化格式输出。
3. 自定义ToString()方法
ToString()方法还可以被各个自定义类型重写。对于不同的类型,我们可以通过重写ToString()方法,来使它按照特定的格式输出。
示例代码如下:
using System;
class Person
{
public string name;
public int age;
public override string ToString()
{
return "name: " + name + ", age: " + age;
}
}
class Program
{
static void Main(string[] args)
{
Person p = new Person { name = "John", age = 30 };
Console.WriteLine("自定义ToString()方法:");
Console.WriteLine(p.ToString()); // 输出 "name: John, age: 30"
}
}
上述示例中,我们定义了一个Person类,其中重写了ToString()方法,使它按照"name: name, age: age"的格式输出。
总结
本文总结了C#中ToString()方法的常规用法,包括其基本用法、常见重载格式和自定义ToString()方法等。相信通过本文的讲解,读者可以更好地掌握和应用ToString()方法,提高程序开发效率和代码质量。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:c#中的常用ToString()方法总结 - Python技术站