LOGO OA教程 ERP教程 模切知识交流 PMS教程 CRM教程 开发文档 其他文档  
 
网站管理员

理解C#中的ToString与Convert.ToString差异

admin
2024年6月8日 18:11 本文热度 704

前言

在 .NET 中有 ToString() 和 Convert.ToString() 两个方法,它们都可以用于将对象转换为字符串。然而,它们存在不同的用法和表现。了解这两种方法之间的差异,可以帮助我们选择适合需求的方法。本文介绍这两种方法及其差异。

ToString()

ToString() 方法是 Object 类的成员,在各种数据类型中被重写,以提供数据类型转换为字符串。下面描述其用法和表现:

1、基本用法

// 定义 decimal 数据类型变量decimal price = 24.11M;// 将变量转换为字符串string priceAsString =price.ToString();// 输出 24.11Console.WriteLine(priceAsString);

2、实现重写

不同的数据类型重写 ToString() 方法,以提供意义更明显的字符串。
// 定义 DateTime 数据类型变量DateTime now = DateTime.Now;// 将变量转换为指定格式的字符串 string dateAsString = now.ToString();// 输出 2024/6/3 23:40:04Console.WriteLine(dateAsString);

3、未引用对象处理

在 null 上调用 ToString() 将抛出 NullReferenceException 的异常。
try{    string nullStriing = null;    // null 变量转换字符串 将产生异常    string result = nullStriing.ToString(); }catch (NullReferenceException exception){    // 输出 未将对象引用设置到对象的实例 异常信息    Console.WriteLine(exception.Message); }

4、格式化和特定区域性

一些数据类型支持格式化字符串和特定的区域信息。
#region 日期        // 定义日期变量DateTime now = DateTime.Now;// 日期变量按指定格式转换为字符串 string dateAsString = now.ToString("yyyy-MM-dd HH:mm:ss");// 输出 2024-06-03 23:40:04Console.WriteLine(dateAsString);#endregion
#region 数值// 定义价格变量double price = 24.6789;// 将变量转换格式后的字符串化价格string formattedPrice = price.ToString("C", new CultureInfo("zh-CN"));// 输出 ¥24.68Console.WriteLine(formattedPrice);#endregion

Convert.ToString()

Convert.ToString() 方法是 Convert 类中的静态方法,提供了一种更灵活的方法将各种数据类型转换为字符串。下面描述其用法和表现。
1、基本用法
// 定义税率变量double taxRate = 0.21;// 将变量转换为字符串string taxRateAsString = Convert.ToString(taxRate);// 输出 0.21
2、未引用对象处理
Convert.ToString() 对未引用对象(null)会返回空字符串,处理掉异常。
// 声明变量为 nullstring productName=null;// 将变量转换为字符串string productNameAsString = Convert.ToString(productName);// 输出 空字符串Console.WriteLine(productNameAsString);
3、处理各种数据类型
Convert.ToString() 可以处理更多的数据类型,也包括 null 值和对象。
object objText = null;// 将变量转换为字符串string result = Convert.ToString(objText);// 输出 空字符串Console.WriteLine(result);
int age = 18;// 将变量转换为字符串string ageAsString = Convert.ToString(age);// 输出 18Console.WriteLine(ageAsString);
4、格式化和特定区域性

与 ToString() 相似,Convert.ToString() 也支持对数据类型格式化字符串和特定的区域信息。

#region 日期       // 定义日期变量DateTime now = DateTime.Now;// 日期变量按指定格式转换为字符串 string dateAsString = Convert.ToString(now, new CultureInfo("zh-CN"));// 输出 2024/6/4 20:48:16Console.WriteLine(dateAsString);#endregion

差异

1、未引用对象处理

  • ToString():如果在 null 上调用,则抛出异常。

  • Convert.ToString():如果在 null 上调用,则返回空字符串。

2、重写

  • ToString():可按类型重写,以提供转换字符串。

  • Convert.ToString():内部使用ToString(),增加空值检查和类型处理。

3、灵活性

  • ToString():主要用于类型实例转换字符串,具有特定于类型的格式化选项

  • Convert.ToString():更灵活,可以处理各种数据类型和null值。

小结

ToString() 和 Convert.ToString() 都是将数据转换为字符串的有用方法。了解它们的差异,希望有助于大家选择最合适的方法。如有不到之处,请多多包涵。


该文章在 2024/6/8 18:11:58 编辑过
关键字查询
相关文章
正在查询...
点晴ERP是一款针对中小制造业的专业生产管理软件系统,系统成熟度和易用性得到了国内大量中小企业的青睐。
点晴PMS码头管理系统主要针对港口码头集装箱与散货日常运作、调度、堆场、车队、财务费用、相关报表等业务管理,结合码头的业务特点,围绕调度、堆场作业而开发的。集技术的先进性、管理的有效性于一体,是物流码头及其他港口类企业的高效ERP管理信息系统。
点晴WMS仓储管理系统提供了货物产品管理,销售管理,采购管理,仓储管理,仓库管理,保质期管理,货位管理,库位管理,生产管理,WMS管理系统,标签打印,条形码,二维码管理,批号管理软件。
点晴免费OA是一款软件和通用服务都免费,不限功能、不限时间、不限用户的免费OA协同办公管理系统。
Copyright 2010-2024 ClickSun All Rights Reserved