C#学习之数据转换

发布于:2025-02-16 ⋅ 阅读:(31) ⋅ 点赞:(0)

目录

一、创作说明

二、数据类型之间的转换

1.数据类型之间的转换表格

2.代码示例

三、进制之间的转换

1.进制之间的转换表格

2.代码示例

四、ASCII 编码和字符之间的转换

1.ASCII 编码和字符之间的转换表格

2.代码示例

五、总结


一、创作说明

C#大多数时候都是和各种数据打交道,本文汇总数据转换的表格,包括常用方法、代码示例以及详细描述。涵盖了数据类型之间的转换、进制之间的转换、ASCII 编码和字符之间的转换。

二、数据类型之间的转换

1.数据类型之间的转换表格

转换类型 方法 代码示例 说明
字符串转整数 int.Parse() int num = int.Parse("123"); 将字符串转换为整数,失败时抛出异常。
int.TryParse() bool success = int.TryParse("123", out int num); 尝试将字符串转换为整数,返回是否成功。
字符串转浮点数 double.Parse() double num = double.Parse("123.45"); 将字符串转换为浮点数,失败时抛出异常。
double.TryParse() bool success = double.TryParse("123.45", out double num); 尝试将字符串转换为浮点数,返回是否成功。
整数转字符串 ToString() string str = 123.ToString(); 将整数转换为字符串。
浮点数转字符串 ToString() string str = 123.45.ToString(); 将浮点数转换为字符串。
字符串转布尔值 bool.Parse() bool flag = bool.Parse("true"); 将字符串转换为布尔值,失败时抛出异常。
bool.TryParse() bool success = bool.TryParse("true", out bool flag); 尝试将字符串转换为布尔值,返回是否成功。
布尔值转字符串 ToString() string str = true.ToString(); 将布尔值转换为字符串。
字符串转日期时间 DateTime.Parse() DateTime date = DateTime.Parse("2023-10-05"); 将字符串转换为日期时间,失败时抛出异常。
DateTime.TryParse() bool success = DateTime.TryParse("2023-10-05", out DateTime date); 尝试将字符串转换为日期时间,返回是否成功。
日期时间转字符串 ToString() string str = DateTime.Now.ToString("yyyy-MM-dd"); 将日期时间格式化为字符串。
整数转浮点数 隐式转换 double num = 123; 整数可以隐式转换为浮点数。
浮点数转整数 显式转换 int num = (int)123.45; 浮点数需要显式转换为整数,小数部分会被截断。
字符转整数 强制转换 int asciiValue = (int)'A'; 将字符转换为对应的 ASCII 值。
整数转字符 强制转换 char asciiChar = (char)65; 将整数转换为对应的 ASCII 字符。
对象转字符串 ToString() string str = someObject.ToString(); 调用对象的 ToString() 方法转换为字符串。
字符串转字节数组 Encoding.UTF8.GetBytes() byte[] bytes = Encoding.UTF8.GetBytes("Hello"); 将字符串转换为字节数组(UTF-8 编码)。
字节数组转字符串 Encoding.UTF8.GetString() string str = Encoding.UTF8.GetString(bytes); 将字节数组转换为字符串(UTF-8 编码)。

2.代码示例

using System;

class Program
{
    static void Main()
    {
        // 字符串转整数
        int num1 = int.Parse("123");
        bool success = int.TryParse("123", out int num2);

        // 整数转字符串
        string str1 = 123.ToString();

        // 字符串转浮点数
        double num3 = double.Parse("123.45");
        bool success2 = double.TryParse("123.45", out double num4);

        // 浮点数转字符串
        string str2 = 123.45.ToString();

        // 字符串转布尔值
        bool flag1 = bool.Parse("true");
        bool success3 = bool.TryParse("true", out bool flag2);

        // 布尔值转字符串
        string str3 = true.ToString();

        // 字符串转日期时间
        DateTime date1 = DateTime.Parse("2023-10-05");
        bool success4 = DateTime.TryParse("2023-10-05", out DateTime date2);

        // 日期时间转字符串
        string str4 = DateTime.Now.ToString("yyyy-MM-dd");

        // 整数转浮点数
        double num5 = 123;

        // 浮点数转整数
        int num6 = (int)123.45;

        // 字符转整数
        int asciiValue = (int)'A';

        // 整数转字符
        char asciiChar = (char)65;

        // 对象转字符串
        string str5 = new object().ToString();

        // 字符串转字节数组
        byte[] bytes = Encoding.UTF8.GetBytes("Hello");

        // 字节数组转字符串
        string str6 = Encoding.UTF8.GetString(bytes);
    }
}

三、进制之间的转换

1.进制之间的转换表格

转换类型 方法 代码示例 说明
十进制转二进制 Convert.ToString() string binary = Convert.ToString(10, 2); 将十进制数转换为二进制字符串。
二进制转十进制 Convert.ToInt32() int decimalNum = Convert.ToInt32("1010", 2); 将二进制字符串转换为十进制数。
十进制转十六进制 Convert.ToString() string hex = Convert.ToString(255, 16); 将十进制数转换为十六进制字符串。
十六进制转十进制 Convert.ToInt32() int decimalNum = Convert.ToInt32("FF", 16); 将十六进制字符串转换为十进制数。

2.代码示例

using System;

class Program
{
    static void Main()
    {
        // 十进制转二进制
        string binary = Convert.ToString(10, 2); // 输出: "1010"

        // 二进制转十进制
        int decimalNum1 = Convert.ToInt32("1010", 2); // 输出: 10

        // 十进制转十六进制
        string hex = Convert.ToString(255, 16); // 输出: "ff"

        // 十六进制转十进制
        int decimalNum2 = Convert.ToInt32("FF", 16); // 输出: 255
    }
}

四、ASCII 编码和字符之间的转换

1.ASCII 编码和字符之间的转换表格

转换类型 方法 代码示例 说明
字符转 ASCII 值 强制转换 int asciiValue = (int)'A'; 将字符转换为对应的 ASCII 值。
ASCII 值转字符 强制转换 char asciiChar = (char)65; 将 ASCII 值转换为对应的字符。
字符串转 ASCII 数组 Encoding.ASCII.GetBytes() byte[] asciiBytes = Encoding.ASCII.GetBytes("Hello"); 将字符串转换为 ASCII 字节数组。
ASCII 数组转字符串 Encoding.ASCII.GetString() string str = Encoding.ASCII.GetString(asciiBytes); 将 ASCII 字节数组转换为字符串。

2.代码示例

using System;
using System.Text;

class Program
{
    static void Main()
    {
        // 字符转 ASCII 值
        int asciiValue = (int)'A'; // 输出: 65

        // ASCII 值转字符
        char asciiChar = (char)65; // 输出: 'A'

        // 字符串转 ASCII 数组
        byte[] asciiBytes = Encoding.ASCII.GetBytes("Hello");

        // ASCII 数组转字符串
        string str = Encoding.ASCII.GetString(asciiBytes); // 输出: "Hello"
    }
}

五、总结

  • 数据类型之间的转换可以通过 Parse()TryParse()ToString() 等方法实现。

  • 进制之间的转换可以使用 Convert.ToString() 和 Convert.ToInt32()

  • ASCII 编码和字符之间的转换可以通过强制类型转换或 Encoding.ASCII 实现。


网站公告

今日签到

点亮在社区的每一天
去签到