目录
一、创作说明
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
实现。