c# ToString方法详解

发布时间:2023-05-22

一、字符串转换

ToString方法是c#中常用的方法之一,它可以将对象转换成字符串。在c#中,数值类型、字符类型、日期类型等数据都可以使用ToString方法。

int num = 123;
string str = num.ToString();
Console.WriteLine(str);
// 结果为"123"

在这个例子中,我们将整型变量"num"转换成了字符串"str"。需要注意的是,调用ToString方法后会返回一个新的字符串,原变量的值不会改变。

二、格式化输出

在实际开发中,我们通常需要对数据进行格式化输出。ToString方法提供了多种格式化选项,可以满足开发者的需求。 例如,对于日期类型,ToString方法提供了多种格式输出。以下是一些常用的格式化选项:

  • "d":短日期格式,例如"2021/7/26"
  • "D":长日期格式,例如"2021年7月26日"
  • "t":短时间格式,例如"下午 3:56"
  • "T":长时间格式,例如"下午 3:56:21"
DateTime dt = DateTime.Now;
string shortDate = dt.ToString("d");
string longDate = dt.ToString("D");
string shortTime = dt.ToString("t");
string longTime = dt.ToString("T");
Console.WriteLine(shortDate);
Console.WriteLine(longDate);
Console.WriteLine(shortTime);
Console.WriteLine(longTime);
// 输出结果为:
// 2021/7/26
// 2021年7月26日
// 下午 3:56
// 下午 3:56:21

三、数字格式化

对于数值类型,ToString方法同样提供了多种格式化选项,可以满足用户的需求。 例如,您可以通过ToString方法将数字转换为以千位分隔符分隔的字符串。

int num = 123456789;
string str = num.ToString("#,##0");
Console.WriteLine(str);
// 输出结果为:"123,456,789"

四、进制转换

在c#中,我们可以使用ToString方法将十进制数值转换成其他进制。ToString方法为数值类型提供了一个参数,该参数指定要输出的进制。 例如,以下示例将十进制数值123转换成二进制、八进制和十六进制。

int num = 123;
string binary = num.ToString(2);
string octal = num.ToString(8);
string hex = num.ToString(16);
Console.WriteLine(binary); // "1111011"
Console.WriteLine(octal); // "173"
Console.WriteLine(hex);   // "7B"

五、自定义格式化

如果ToString方法提供的格式化选项不能满足我们的需求,我们可以通过自定义格式化字符串来实现自定义输出。自定义格式化字符串可以包含文本和格式占位符。 在以下示例中,我们将十进制数值12345678转换成电话号码格式(###) ###-####。

int num = 12345678;
string phone = num.ToString("(###) ###-####");
Console.WriteLine(phone); // "(123) 456-78"

六、总结

在本文中,我们介绍了c#中ToString方法的多种用法。ToString方法可以将对象转换成字符串、进行格式化输出、进行进制转换和自定义输出。掌握ToString方法的用法,可以让我们更好地处理和输出数据。