上一篇:
C#,入门教程(13)——字符(char)及字符串(string)的基础知识https://blog.csdn.net/beijinghorn/article/details/123928151
数据只有可视化才能更好地体现其价值,因而 string 与 image 是所有数据的终点。
string 必须熟练再熟练!
string 实际上是封装的 byte[] 数组 的类。按编码的不同其 byte[] 数据是不一样的。
// 一般的,不好的写法
byte[] 转成 string:
string str = System.Text.Encoding.Default.GetString(byteArray);
// 好的写法
byte[] 转成 string:
string str = System.Text.Encoding.ASCII.GetString(byteArray);
// 一般的,不好的写法
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 a = 10;
string b = a + "";
// 限定位数,左端 用 0 补齐
int a = 8;
string b = String.Format("{0:D2}", a);
// b = "08"
// 好的写法
string a = "10";
int b = Int32.Parse(a);
// 或者
if(Int32.TryParse(a, out int b))
{
int c = b + 3;
}
// 也很简单!
double a = 10.11;
string b = a + "";
// 限小数点位数
double a = Math.PI;
string b = String.Format("{0:F8}", a);
// b = "3.14159265"
// 好的写法
string a = "1.2345";
double b = double.Parse(a);
// 或者
if(double.TryParse(a, out double b))
{
double c = b + 3.0;
}
DateTime 实际上是 封装的一个实数类,用于存储时间信息。
// 获得当前时间
DateTime now = DateTime.Now;
// 转为 年-月-日 格式
string ns = now.ToString("yyyy-MM-dd"));
string a = "2008-8-8";
DateTime beijingTime = DateTime.Parse(a);
// 或者
if(DateTime.Parse(a, out DateTime bt))
{
;
}
其他的数据体,一般都以 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