C#,入门教程(14)——字符串与其他数据类型的转换
2023-09-11 14:15:49 时间
上一篇:
C#,入门教程(13)——字符(char)及字符串(string)的基础知识https://blog.csdn.net/beijinghorn/article/details/123928151
数据只有可视化才能更好地体现其价值,因而 string 与 image 是所有数据的终点。
string 必须熟练再熟练!
一、byte vs string
string 实际上是封装的 byte[] 数组 的类。按编码的不同其 byte[] 数据是不一样的。
1、byte to string
// 一般的,不好的写法
byte[] 转成 string:
string str = System.Text.Encoding.Default.GetString(byteArray);
// 好的写法
byte[] 转成 string:
string str = System.Text.Encoding.ASCII.GetString(byteArray);
2、string to byte
// 一般的,不好的写法
string 转成 byte[]:
byte[] byteArray = System.Text.Encoding.Default.GetBytes(str);
// 好的写法
string 转成 byte[]:
byte[] byteArray = System.Text.Encoding.ASCII.GetBytes(str);
Encoding.Default 具有很大的迷惑性,不同的 OS 下可能是不一样的,如同 var 数据类型一样,写起来省事,却大大地破坏了系统的可维护性与拓展性。
记住:一定要用明确类型的 Encoding !!!!!
二、int vs string
1、int to string
// 没有简单,只有更简单!
int a = 10;
string b = a + "";
// 限定位数,左端 用 0 补齐
int a = 8;
string b = String.Format("{0:D2}", a);
// b = "08"
2、string to int
// 好的写法
string a = "10";
int b = Int32.Parse(a);
// 或者
if(Int32.TryParse(a, out int b))
{
int c = b + 3;
}
三、double vs string
1、double to string
// 也很简单!
double a = 10.11;
string b = a + "";
// 限小数点位数
double a = Math.PI;
string b = String.Format("{0:F8}", a);
// b = "3.14159265"
2、string to double
// 好的写法
string a = "1.2345";
double b = double.Parse(a);
// 或者
if(double.TryParse(a, out double b))
{
double c = b + 3.0;
}
四、DateTime vs string
DateTime 实际上是 封装的一个实数类,用于存储时间信息。
1、DateTime to string
// 获得当前时间
DateTime now = DateTime.Now;
// 转为 年-月-日 格式
string ns = now.ToString("yyyy-MM-dd"));
2、string to DateTime
string a = "2008-8-8";
DateTime beijingTime = DateTime.Parse(a);
// 或者
if(DateTime.Parse(a, out DateTime bt))
{
;
}
五、other vs string
其他的数据体,一般都以 class 定义。
因而,大多数情况下,应该重写其 ToString 方法来实现与 string 的转换。
public class PersonInfo
{
/// <summary>
/// 编码
/// </summary>
public int Id { get; set; } = 0;
/// <summary>
/// 姓名
/// </summary>
public string Name { get; set; } = "";
/// <summary>
/// 重载ToString方法
/// </summary>
/// <returns></returns>
public override string ToString()
{
//return base.ToString();
return Id + ":" + Name;
}
}
不用记很多,需要的时候再搜索即可。
下一篇:
C#,入门教程915)——类(class)的基础知识https://blog.csdn.net/beijinghorn/article/details/124012719
相关文章
- C#由转换二进制所引起的思考,了解下?
- C# 下载PDF文件(http与ftp)
- C#使用开源类库解析和生成rtf格式的内容
- C#订阅与发布标准实现 visual studio code .net 开发 设计模式之☞策略模式 C#字符串转二进制、二进制转字符串 c# 接口的协变和逆变 c# 使用迭代器来创建可枚举类型 博客园首页新随笔联系订阅管理 随笔 - 117 文章 - 0 评论 - 57 c# 创建,加载,修改XML文档
- C# 跨线程调用form控件技巧及byte[]与string型相互转换
- Word控件Spire.Doc 转换教程(二十四):在C#中将Word 转换为SVG
- Word控件Spire.Doc 转换教程(三十):C#、VB.NET 在 Azure 应用程序中将 Word 转换为 PDF
- Word处理控件Aspose.Words功能演示:使用 C# 将 DOCX 转换为 HTML
- C# IP地址与整数之间的转换
- 我的第一个C#程序
- C#通过FTP账号上传、修改、删除文件 FTPClient
- C# 将一个string数组转换为int数组
- 【C#基础1-3】C#的数据类型
- c#的显性转换,和隐形转换相关细节
- 《C#零基础入门之百识百例》(五十四)派生类的介绍和使用 -- 等差数列
- C#获取汉字字符串拼音首字母的方法(转载)
- C#-DataTable与实体类互相转换
- C# 排序列表(SortedList)
- C#.Net遍历远程文件夹下的所有文件 FTP
- C#之Attribute(特性)
- C#-Linq转换运算符ToDictionary, ToLookup
- 【C#】枚举和字符串以及数字之间的互相转换
- 接口 C# 请求数据 使用post的方式提交raw格式的数据,数据为json格式,多层嵌套