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

相关推荐
向上的车轮9 分钟前
为什么.NET(C#)转 Java 开发时常常在“吐槽”Java:checked exception
java·c#·.net
YCY^v^31 分钟前
JeecgBoot 项目运行指南
java·学习
云小逸37 分钟前
【nmap源码解析】Nmap OS识别核心模块深度解析:osscan2.cc源码剖析(1)
开发语言·网络·学习·nmap
JustDI-CM1 小时前
AI学习笔记-提示词工程
人工智能·笔记·学习
悟纤1 小时前
学习与专注音乐流派 (Study & Focus Music):AI 音乐创作终极指南 | Suno高级篇 | 第33篇
大数据·人工智能·深度学习·学习·suno·suno api
爱写bug的野原新之助1 小时前
加密摘要算法MD5、SHA、HMAC:学习笔记
笔记·学习
心疼你的一切1 小时前
Unity异步编程神器:Unitask库深度解析(功能+实战案例+API全指南)
深度学习·unity·c#·游戏引擎·unitask
ZH15455891312 小时前
Flutter for OpenHarmony Python学习助手实战:Web开发框架应用的实现
python·学习·flutter
百锦再2 小时前
Vue高阶知识:利用 defineModel 特性开发搜索组件组合
前端·vue.js·学习·flutter·typescript·前端框架
CappuccinoRose2 小时前
JavaScript 学习文档(二)
前端·javascript·学习·数据类型·运算符·箭头函数·变量声明