C#学习之数据转换

目录

一、创作说明

二、数据类型之间的转换

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

2.代码示例

三、进制之间的转换

1.进制之间的转换表格

2.代码示例

[四、ASCII 编码和字符之间的转换](#四、ASCII 编码和字符之间的转换)

[1.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.代码示例

cs 复制代码
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.代码示例

cs 复制代码
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.代码示例

cs 复制代码
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 实现。

相关推荐
工藤新一OL12 分钟前
把xml的格式从utf-8-bom转为utf-8
xml·c#·asp.net·.netcore·visual studio
henreash1 小时前
NLua和C#交互
开发语言·c#·交互
flashier1 小时前
ESP32学习笔记_Components(1)——使用LED Strip组件点亮LED灯带
学习·esp32·led·led灯带·esp32组件
Shining05962 小时前
Datawhale AI 夏令营—科大讯飞AI大赛(大模型技术)—让大模型理解表格数据(列车信息表)
人工智能·学习·其他
希望奇迹很安静3 小时前
SSRF_XXE_RCE_反序列化学习
学习·web安全·ctf·渗透测试学习
悦悦子a啊3 小时前
Python之--字典
开发语言·python·学习
kmjyccc4 小时前
生活毫无头绪就毫无头绪吧(7.24)
学习·生活
SAJalon4 小时前
C#集合全面解析
c#
heyilunv5 小时前
昇思学习营-Deepseek-r1-distill-qwen-1.5b模型开发与适配课程内容和学习心得
学习
胡耀超5 小时前
我们如何写好提示词、发挥LLM能力、写作指南:从认知分析到动态构建的思维方法
人工智能·python·学习·大模型·llm·提示词·八要素思维