C#学习之数据转换

news2025/3/14 1:12:22

目录

一、创作说明

二、数据类型之间的转换

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2299349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

从无序到有序:上北智信通过深度数据分析改善会议室资源配置

当前企业普遍面临会议室资源管理难题,预约机制不完善和临时会议多导致资源调度不合理,既有空置又有过度拥挤现象。 针对上述问题,上北智信采用了专业数据分析手段,巧妙融合楼层平面图、环形图、折线图和柱形图等多种可视化工具&a…

CAS单点登录(第7版)4.管理

如有疑问,请看视频:CAS单点登录(第7版) 管理 概述 Admin Console & 仪表板 CAS 提供了许多可用于管理 CAS 服务器部署的工具和控制板。此类选项通常不是互斥的,旨在协同工作并呈现 CAS 配置和构建的各个方面&am…

Baklib一站式云平台:全场景赋能企业知识资产激活

内容概要 在数字化浪潮推动下,企业知识资产的高效管理与价值释放成为核心议题。Baklib作为一站式云平台,以全场景赋能为核心定位,通过构建知识中台架构,为企业提供从资源整合到应用落地的闭环解决方案。该平台不仅支持文本、图像…

登录弹窗效果

1,要求 点击登录按钮,弹出登录窗口 提示1:登录窗口 display:none 隐藏状态; 提示2:登录按钮点击后,触发事件,修改 display:block 显示状态 提示3:登录窗口中点击关闭按钮&#xff0…

小小小病毒(3)(~_~|)

一分耕耘一分收获 声明: 仅供损害电脑,不得用于非法。损坏电脑,作者一律不负责。此作为作者原创,转载请经过同意。 欢迎来到小小小病毒(3) 感谢大家的支持 还是那句话:上代码! …

【Java 面试 八股文】Spring Cloud 篇

Spring Cloud 篇 1. Spring Cloud 5大组件有哪些?2. 服务注册和发现是什么意思?Spring Cloud 如何实现服务注册发现?3. 我看你之前也用过nacos,你能说下nacos与eureka的区别?4. 你们项目负载均衡如何实现的&#xff1f…

Esxi8.0设置nvidia显卡直通安装最新驱动

ESXI8.0设置显卡直通 在某些情况下,我们需要多次切换操作系统,以测试软件是否适用于特定系统和环境,减少多次重装系统的麻烦 ESXI8.0安装包 通过网盘分享的文件:ESXi-8.0U2-22380479-USB-NVME-集成网卡镜像.iso 链接: https://…

LabVIEW袜品压力测试系统

开发了一种基于LabVIEW开发的袜品压力测试系统。该系统利用LabVIEW并结合灵敏的传感器和高精度的处理模块,实现了对袜品压力的精确测量和分析。系统不同于传统的服装压力测试方法,为研究和评价袜子的舒适性提供了新的测试手段。 ​ 项目背景 该系统的…

TestHubo基础教程-创建项目

TestHubo是一款国产开源一站式测试工具,涵盖功能测试、接口测试、性能测试,以及 Web 和 App 测试,可以满足不同类型项目的测试需求。本文将介绍如何快速创建第一个项目,以快速入门上手。 1、创建项目 在 TestHubo 中,…

深度求索—DeepSeek API的简单调用(Java)

DeepSeek简介 DeepSeek(深度求索)是由中国人工智能公司深度求索(DeepSeek Inc.)研发的大规模语言模型(LLM),专注于提供高效、智能的自然语言处理能力,支持多种场景下的文本生成、对…

企业使用统一终端管理(UEM)工具提高端点安全性

什么是统一终端管理(UEM) 统一终端管理(UEM)是一种从单个控制台管理和保护企业中所有端点的方法,包括智能手机、平板电脑、笔记本电脑、台式机和 IoT设备。UEM 解决方案为 IT 管理员提供了一个集中式平台,用于跨所有作系统和设备类型部署、配置、管理和…

爱彼(Audemars Piguet):瑞士制表艺术的巅峰之作(中英双语)

爱彼(Audemars Piguet):瑞士制表艺术的巅峰之作 在瑞士高级制表界,Audemars Piguet(爱彼) 以其大胆创新、卓越工艺和独立家族经营的传统,成为世界顶级腕表品牌之一。作为瑞士“三大制表品牌”之…

1134. 国王的魔镜

题目 AC代码 #include<bits/stdc.h> using namespace std; bool hw(char s[]) {bool rtrue;int i;for(i0;i<strlen(s)/2;i){if(s[i]!s[strlen(s)-i-1]){rfalse;break;}}return r; } int main() {char s[1005];gets(s);while(hw(s)true&&strlen(s)%20){s[strl…

浅说树形dp

文章目录 前言树形dp的转移方式树形dp的使用的场景小结 初步感知——简单的树形dp例题1例题2 深入分析——树形dp的经典模型最大独立集最小点覆盖最小支配集树上直径 前言 因为树的形式非常适合递归&#xff0c;他所带来的访问顺序也是非常符合拓扑排序的&#xff0c;故而在处…

使用Charles进行mock请求

在 Charles 中&#xff0c;“Compose”&#xff08;构建请求&#xff09;功能允许你手动创建和发送 HTTP 或 HTTPS 请求&#xff0c;方便进行 API 测试、调试等操作。以下是 Compose 功能的详细使用方式&#xff1a; 1. 打开 Compose 界面 启动 Charles 后&#xff0c;在菜单…

RAMinit 程序编译运行考古记录

本科的时候浅浅研究了DOSBox&#xff0c;今天看到网上挺多关于雷军代码的新闻&#xff0c;我把雷军代码在web上编译出来了&#xff0c;但是我是业余选手&#xff0c;所以做得比较差&#xff0c;不过大家感兴趣可以关注我的dosplay项目&#xff0c;旨在利用js-dos实现汇编语言在…

【Pico】使用Pico进行无线串流搜索不到电脑

使用Pico进行无线串流搜索不到电脑 官串方式&#xff1a;使用Pico互联连接电脑。 故障排查 以下来自官方文档 请按照以下步骡排除故障&#xff1a; 确认电脑和一体机连接了相同的路由器WiFi网络(相同网段) IP地址通常为192.168.XX&#xff0c;若两设备的IP地址前三段相同&…

Golang Model 字段自动化校验设计

背景 在我们日常开发中&#xff0c;不可避免的总要去进行各种参数校验&#xff0c;但是如果在某个场景中&#xff0c;要校验的字段非常多&#xff0c;并且在其中还有耦合关系&#xff0c;那么我们手写校验逻辑就变得非常的低效且难以维护。本篇文档就基于 DDD 领域模型设计的思…

移动端测试的挑战与解决方案:兼容性、网络问题及实战策略

引言 移动应用已成为用户触达服务的核心入口,但移动端测试面临设备多样性、网络波动、用户场景复杂等多重挑战。据Statista统计,2023年全球活跃移动设备超180亿台,操作系统(Android/iOS)版本碎片化率超30%,这对测试工程师提出了极高要求。本文深度解析移动端测试的核心痛…

Spring安装和使用(Eclipse环境)

一、Spring框架概述 1、 什么是Spring Spring是一个开源框架&#xff0c;Spring是于2003 年兴起的一个轻量级的Java 开发框架&#xff0c;由Rod Johnson 在其著作Expert One-On-One J2EE Development and Design中阐述的部分理念和原型衍生而来。它是为了解决企业应用开发的复…