zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C#,入门教程(14)——字符串与其他数据类型的转换

c#转换入门教程 字符串 数据类型 14 其他
2023-09-11 14:15:49 时间

上一篇:

C#,入门教程(13)——字符(char)及字符串(string)的基础知识icon-default.png?t=MBR7https://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)的基础知识icon-default.png?t=MBR7https://blog.csdn.net/beijinghorn/article/details/124012719