C#基础学习--转换

news2024/11/25 20:37:08

目录

什么是转换

隐式转换

显式转换和强制转换

​编辑

转换的类型

数字的转换

​编辑 隐式数字转换

溢出检测上下文

显式数字转换 

引用转换

 隐式引用转换

显式引用转换

有效显式引用转换

装箱转换

装箱是创建副本

装箱转换

拆箱转换

 用户自定义转换

用户自定义转换的约束

 is 运算符

 as 运算符


什么是转换

隐式转换

有些类型的转换不会丢失数据或精度。

显式转换和强制转换

如果使用强制类型转换,就意味着要承担执行操作可能引起的丢失数据的后果

转换的类型

数字的转换

 隐式数字转换

 没有路径的就是需要显式转换,有路径的就是可以隐式转换

溢出检测上下文

显式数字转换 

 虚线路径表示显式转换

引用转换

引用类型对象由内存中的两部分组成:引用和数据

 隐式引用转换

所有的引用类型可以隐式转换成object 类型

任何类型可以隐式转换到它继承的接口

类可以隐式转换到  :    他继承链中的任何类,它实现的任何接口

显式引用转换

显式引用转换是从一个普通类型到一个更精确类型的引用转换

显式转换包括:   从object到任何引用类型的转换      从基类到从它继承的类的转换

有效显式引用转换

装箱转换

包括值类型在内的所有C#类型都派生自 object 类型。默认情况下在堆上不包括它们的对象组件,如果需要对象组件,可以通过装箱。装箱是一种隐式转换,它接受值类型的值,根据这个值在堆上创建一个完整的引用类型对象并返回对象引用

装箱是创建副本

返回的是值的引用类型的副本,在装箱产生后,该值有两份副本--原始值类型和引用类型副本,每一个都可以独立操作

装箱转换

拆箱转换

拆箱是把装箱后的对象转换回值类型的过程

 用户自定义转换

用户自定义转换的约束

 多步转换:

 is 运算符

有些转换是不成功的,并且会在运行时抛出一个InvalidCastException异常,我们可以使用is运算符来检查转换是否会成功

Expr  是源表达式

 as 运算符

as 运算符和强制运算符类似,只是它不抛出异常,如果转换失败,它返回null 而不是抛出异常

 

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

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

相关文章

学习/cmake-cookbook/chapter-01/recipe-07/example

代码链接:cmake-cookbook/chapter-01/recipe-07/example at master dev-cafe/cmake-cookbook GitHub BUG 是告诉如G之类的编译器在每个translation unit中定义macro NDEBUG,进而导致所有assert()都被关闭!合法取值是Debug,Rele…

MongoDB部署的10个最佳实践

MongoDB是一个非关系文档数据库,支持类似JSON的存储。其灵活的数据模型使您可以轻松存储非结构化数据。它于2009年首次发布,是最常用的NoSQL数据库。它的下载量已超过325亿次。 MongoDB在开发人员中很受欢迎,因为它很容易上手。多年来&#x…

ATTCK v12版本战术实战研究——提权(一)

一、概述 前几期文章中,我们中介绍ATT&CK 14项战术中提权战术(一),包括提权前6项子技术。那么从前文中介绍的相关提权技术来开展测试,进行更深一步的分析。本文主要内容是介绍攻击者在运用提权技术时,…

LeetCode 112 路径总和

题目: 给你二叉树的根节点 root 和一个表示目标和的整数 targetSum 。判断该树中是否存在 根节点到叶子节点 的路径,这条路径上所有节点值相加等于目标和 targetSum 。如果存在,返回 true ;否则,返回 false 。 示例 1…

Spring Boot概述(一)

1. SpringBoot 概述 1.1 SpringBoot 概念 SpringBoot提供了一种快速使用Spring的方式,基于约定优于配置的思想,可以让开发人员不必在配置与逻辑业务之间进行思维的切换,全身心的投入到逻辑业务的代码编写中,从而大大提高了开发的…

数字化时代,如何通过社媒找到外贸客户?

随着全球化的深入发展,外贸客户的开发变得越来越重要。而在如今的数字化时代,社交媒体已经成为了企业开发外贸客户的重要渠道之一。本文好选客小编将从选择社媒找外贸客户的原因和方法等方面,为您介绍如何通过社媒找到外贸客户。 图片出处&am…

洛谷P8706 [蓝桥杯 2020 省 AB1] 解码 C语言/C++

[蓝桥杯 2020 省 AB1] 解码 题目描述 小明有一串很长的英文字母,可能包含大写和小写。 在这串字母中,有很多连续的是重复的。小明想了一个办法将这串字母表达得更短:将连续的几个相同字母写成字母 出现次数的形式。 例如,连续…

【蓝桥杯省赛真题38】Scratch流星坠落 少儿编程scratch编程蓝桥杯省赛比赛真题讲解

目录 scratch流星坠落 一、题目要求 编程实现 二、案例分析 1、角色分析

vue3中使用swiper及遇到的问题

vue3中使用swiper 一、安装swiper二、使用swiper三、echarts+swiper一、安装swiper 使用npm install swiper安装swpier插件 npm install swiper -s // @9.2.0 // 或者安装指定版本 npm install swiper@8.4.7 -s二、使用swiper 直接按照官网的引用方法,项目会报错 解决方法:…

【复现论文】Looking here or there? Gaze Following in 360-Degree Images

【复现论文】Looking here or there? Gaze Following in 360-Degree Images 论文:Looking here or there? Gaze Following in 360-Degree Images 论文链接:Looking here or there? Gaze Following in 360-Degree Images 复现github链接&#xff1a…

List集合以及它的实现类和队列、栈

List集合 Collection层次的结构接口中,一些允许有重复的元素,例如:List接口。而另外一些不允许有重复的元素,例如:Set接口。其中也分为了有序与无序的(存储顺序)。 在JDK中没有提供Collection…

ppt文件太大怎么变小,这6种方式很简单

ppt文件太大怎么变小? ppt文件通常用于公司会议、教育授课和商务演讲等场合,由于需要实现各种文档效果并插入大量图片,因此文件大小要远大于普通文档文件,占用的存储空间也不少。如果电脑中存储了大量PPT文件,并且不方…

不服不行!盘点那些编程界的天才少年,11岁参加国际比赛,靠奖金赚了40万美金

程序员是一项专业性极强的工作,需要很强的思维能力和动手能力,所以大多数程序员要比普通人更聪明,与其他职业相比,程序员应该是最爱学习的一行了。科技网络的发展太快,新的技术层出不穷,时刻都要更新自己的…

L2-041 插松枝 判断量少(PTA 天梯赛)

人造松枝加工场的工人需要将各种尺寸的塑料松针插到松枝干上,做成大大小小的松枝。他们的工作流程(并不)是这样的: 每人手边有一只小盒子,初始状态为空。每人面前有用不完的松枝干和一个推送器,每次推送一…

计算机组成原理第二章——数据的表示与运算(下)

提示:时光清浅处 一步一安然 文章目录前言2.3.1 浮点数的表示2.3.2 IEEE7542.2.3 浮点数的运算前言 本节主要讲三个问题,浮点数的表示,IEEE 754标准,浮点数的加减运算 2.3.1 浮点数的表示 浮点数的作用和基本原理 定点数可表示…

由浅入深了解HashMap源码

由经典面试题引入,讲解一下HashMap的底层数据结构?这个面试题你当然可以只答,HashMap底层的数据结构是由(数组链表红黑树)实现的,但是显然面试官不太满意这个答案,毕竟这里有一个坑需要你去填&a…

Java容器使用注意点

前置:问题 判空集合转map集合遍历集合去重集合转数组数组转集合 一:集合判空 《阿里巴巴 Java 开发手册》的描述如下: 判断所有集合内部的元素是否为空,使用 isEmpty() 方法,而不是 size()0 的方式。 我们在开发中也…

AI大模型突围战

最近,GPT赛道上争议不断,先是GPT-4的问世,用一些亮眼的功能让人类感叹自己是不是要丢工作?紧接着又有一封联名信刷屏,图灵奖得主、AI三巨头之一的约书亚本吉奥、埃隆马斯克等123个业界大佬,呼吁所有人工智能…

Vcpkg安装指定版本包或自定义安装包

文章目录前言寻找版本安装后话前言 windows一直用着vcpkg作为C跨平台开发的包管理,有些依赖要指定版本库,vcpkg目前最新的openssl版本是3.1.0,我想安装其他版本为例,开始本教程 寻找版本 以openssl举例,在vcpkg目录中…

react3:受控组件(表单默认变成受控)-组件通信 - typescript项目

受控组件:表单 非受控组件表单元素值不受所在组件状态的控制, 我们将这样的表单元素称作: 非受控组件. 受控组件受控组件 : 值受到 React 组件状态控制的表单元素一般是通过 defaultValue 属性, onChange 事件配合将非受控组件变为受控组件. 多表单元素操作 &#…