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 实现。

相关推荐
编程小白202614 分钟前
从 C++ 基础到效率翻倍:Qt 开发环境搭建与Windows 神级快捷键指南
开发语言·c++·windows·qt·学习
学历真的很重要15 分钟前
【系统架构师】第二章 操作系统知识 - 第二部分:进程与线程(补充版)
学习·职场和发展·系统架构·系统架构师
深蓝海拓23 分钟前
PySide6,QCoreApplication::aboutToQuit与QtQore.qAddPostRoutine:退出前后的清理工作
笔记·python·qt·学习·pyqt
酒鼎24 分钟前
学习笔记(3)HTML5新特性(第2章)
笔记·学习·html5
E_ICEBLUE27 分钟前
PPT 批量转图片:在 Web 预览中实现翻页效果(C#/VB.NET)
c#·powerpoint·svg
L***一39 分钟前
2026届大专跨境电商专业毕业生就业能力提升路径探析
学习
.小墨迹1 小时前
apollo学习之借道超车的速度规划
linux·c++·学习·算法·ubuntu
ZH15455891311 小时前
Flutter for OpenHarmony Python学习助手实战:模块与包管理的实现
python·学习·flutter
Gain_chance1 小时前
33-学习笔记尚硅谷数仓搭建-DWS层交易域用户粒度订单表分析及设计代码
数据库·数据仓库·hive·笔记·学习·datagrip
hqyjzsb1 小时前
盲目用AI提效?当心陷入“工具奴”陷阱,效率不增反降
人工智能·学习·职场和发展·创业创新·学习方法·业界资讯·远程工作