前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >C# 运算符、表达式和数据类型转换笔记

C# 运算符、表达式和数据类型转换笔记

作者头像
云峥百宝箱
发布于 2025-04-16 11:22:07
发布于 2025-04-16 11:22:07
11200
代码可运行
举报
运行总次数:0
代码可运行

运算符

C# 中的运算符用于执行程序代码中的各种操作。主要分为以下几类:

  • 算术运算符:+, -, *, /, %, ++, --
  • 关系运算符:==, !=, >, <, >=, <=
  • 逻辑运算符:&&, ||, !, &, |, ^
  • 位运算符:&, |, ^, ~, <<
  • 赋值运算符:=, +=, -=, *=, /=, %=, &=, |=, ^=, <<=, >>=, ??=

表达式

表达式是一系列运算符和操作数的组合,它可以计算出一个值。表达式可以包含:

  • 字面量:直接的值,如 5, "hello", true。
  • 变量:存储在内存中的值,如 int number = 5;
  • 方法调用:执行一个方法并返回结果,如 Math.Sqrt(4);
  • 运算符:上面提到的各种运算符。

数据类型转换

数据类型转换是将一种数据类型转换为另一种数据类型的过程。C# 提供了两种类型转换:

  • 隐式转换(Implicit Conversion):不需要显式代码,编译器自动完成。通常发生在较小范围的类型转换为较大范围的类型时,如 int 到 long。
  • 显式转换(Explicit Conversion):需要使用强制类型转换,如 (int)someDouble。

转换操作符

类型转换关键字:as, is, cast, checked, unchecked。

  • as:尝试将对象引用转换为另一种类型,如果转换失败则返回 null。
  • is:检查一个对象是否是特定类型或其派生的类型,返回 bool。
  • cast:用于将值类型或引用类型转换为另一种类型,必须保证转换是有效的,否则会抛出异常。
  • checked:在算术运算时检查溢出。
  • unchecked:在算术运算时不检查溢出。

常见转换示例

整型转换:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
csharp
int i = 10;
long l = (long)i; // 显式转换
double d = i;    // 隐式转换

浮点型转换:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
double pi = 3.14;
int radius = 5;
double area = pi * radius * radius; // 隐式转换

csharp 字符串转换:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
int number = 42;
string str = number.ToString(); // 隐式转换

使用 as 和 is:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
object obj = "Hello, World!";
string s = obj as string; // s will be "Hello, World!"
bool isString = obj is string; // isString will be true

注意事项

隐式转换可能会丢失精度,特别是在从浮点数转换为整数时。 显式转换可能会抛出异常,特别是当转换不可能时(如将字符串 "abc" 转换为整数)。 使用 checked 和 unchecked 可以控制溢出检查的行为。 希望这篇笔记能帮助你更好地理解和使用C#中的运算符、表达式和数据类型转换。

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2024年11月24日,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Java基础入门篇(五)——Java变量类型的转换和运算符
前面几篇文章用Java带大家一起了解了几个游戏小项目,感兴趣的小伙伴可以点击文章观摩下,手把手教你用Java打造一款简单故事书(上篇)、手把手教你用Java打造一款简单故事书(下篇)、手把手教你用Java打造一款简单考试系统(上篇)、手把手教你用Java打造一款简单考试系统(下篇)接下来的几篇文章是关于Java基础的,希望对大家的学习有帮助,欢迎大家在讨论区留言。
Java进阶者
2021/01/22
4430
【深入浅出C#】章节 2:数据类型和变量:类型转换和类型推断
类型转换和类型推断是C#编程中重要的概念和技术,它们在处理数据和变量时起到关键作用。类型转换允许我们在不同数据类型之间进行转换,以便进行正确的计算和操作。它可以帮助我们处理数据的精度、范围和表达需求。而类型推断则使代码更加简洁和可读,通过自动推断变量的类型,减少了冗余的代码和类型声明。 在《类型转换和类型推断》这篇文章中,我们将深入探讨类型转换的不同方式,包括显式类型转换和隐式类型转换,以及装箱和拆箱的概念。我们还将讨论类型推断的实际应用,包括使用var关键字和匿名类型的场景,以及动态类型的灵活性。
喵叔
2023/07/09
5670
java学习之路:3.数据类型 变量 运算符 转换
相对于C语言的整数类型来说,多了一个byte。 表示方法也和c一样: 十进制直接表示,八进制+0,十六进制+0X或0x
花狗Fdog
2020/10/28
3310
java学习之路:3.数据类型  变量  运算符  转换
3.2 运算符和表达式
在表达式求值时,先按运算符的优先级别顺序执行,例如先乘除后加减。如果在一个运算对象两侧的运算符的优先级别相同,则按照结合方向“自左至右”即先左后右执行。
小林C语言
2019/08/09
2890
数据类型转换、运算符(基础篇三)
变量定义赋值的时候, 值得在取值范围之内,自动转换. 如果超出了接收类型的范围, 需要强转
故里
2020/11/25
1.3K0
数据类型转换、运算符(基础篇三)
04. Python数据类型转换与运算符详解
全栈若城
2025/02/25
1600
04. Python数据类型转换与运算符详解
C++一分钟之-C++中的类型转换
在C++编程中,类型转换是常见的操作,它允许我们将一种数据类型的值转换为另一种数据类型。然而,不当的类型转换可能导致程序错误或逻辑缺陷。本文将深入浅出地介绍C++中的类型转换机制,包括隐式和显式转换,并探讨一些常见问题及如何避免它们。
Jimaks
2024/07/08
1520
第6章 | 循环控制流,return,loop,函数,字段,运算符,类型转换,闭包
break 表达式会退出所在循环。(在 Rust 中,break 只能用在循环中,不能用在 match 表达式中,这与 switch 语句不同。)
草帽lufei
2024/05/08
1650
【Go 基础篇】Go语言数据类型转换:精确的值变换与类型协作
在计算机编程中,数据类型转换是一种常见的操作,用于将一个类型的值转换为另一个类型。Go语言(也称为Golang)作为一门现代编程语言,具有强大的类型系统和灵活的数据类型转换机制,使得开发人员可以精确地变换数据值,以适应不同的需求。本篇博客将深入探讨Go语言中的数据类型转换,从基本概念到类型转换的方法和最佳实践,帮助您理解如何在Go中进行安全、有效的数据类型转换。
繁依Fanyi
2023/10/12
3050
《深度剖析SQL数据类型转换:隐式与显式的奥秘》
在SQL的世界里,数据类型转换是一个基础且关键的操作,它贯穿于数据库开发、管理与数据分析的各个环节。数据类型转换分为隐式转换和显式转换,二者各有特点与应用场景,深刻理解它们对于编写高效、稳定的SQL代码至关重要。
程序员阿伟
2025/03/27
1810
《深度剖析SQL数据类型转换:隐式与显式的奥秘》
C/C++数据类型的转换之终极无惑
数据类型在编程中经常遇到,虽然可能存在风险,但我们却乐此不疲的进行数据类型的转换。
恋喵大鲤鱼
2018/08/03
7830
C++ 炼气期之算术运算符
编写程序时,数据确定后,就需要为数据提供相应的处理逻辑(方案或算法)。所谓逻辑有 2 种存在形态:
一枚大果壳
2022/08/23
5940
C++ 炼气期之算术运算符
运算符的优先级别
在一系列复杂的运算符中,优先级较高的运算符总是先被运算,然后才按照优先级的高低依次完成所有计算,在前面的章节中我们也简单了提到了一些运算符的优先顺序,其中优先级最高的是小括号括号:”(...)”,多个括号分割运算表达式会让一个复杂的表达式变得更具有可读性。其他的运算符按照优先级别的高低排序分别是:自加/减运算符、 算术运算符、比较运算符、逻辑运算符、赋值运算符。具体请参考下表:
用户8639654
2021/07/21
8420
「JAVA」变量、表达式、数据类型、数据类型转换详解
变量: 表示存储空间,可用来存放某一类型(整数、小数...)的数据,没有固定值,变量值是可变的,可重复使用,也可以用来存储某种类型的未知数据。
老夫编程说
2020/04/25
7690
「JAVA」变量、表达式、数据类型、数据类型转换详解
【Java 基础篇】Java 类型转换
在Java编程中,类型转换是一种将一个数据类型转换为另一个数据类型的操作。类型转换可以发生在原始数据类型之间,也可以在引用数据类型之间进行。本篇博客将详细介绍Java中的类型转换,包括隐式类型转换和显式类型转换,并提供相关的代码示例。
繁依Fanyi
2023/10/12
7400
第 14 章 重载运算与类型转换
第 14 章 重载运算与类型转换 标签(空格分隔): C++Primer 学习记录 运算符重载 类型转换 ---- 第 14 章 重载运算与类型转换 14.1 基本概念 14.2 输入和输出运算符 14.3 算术和关系运算符 14.4 赋值运算符 14.5 下标运算符 14.6 递增和递减运算符 14.7 成员访问运算符 14.8 函数调用运算符 14.9 重载、类型转换与运算符 ---- 14.1 基本概念 重载的运算符是具有特殊名字的函数,他们的名字由关键字 operator和其后要定义的运算符号共
用户1653704
2018/06/07
9560
深入理解JavaScript数据类型转换
JavaScript是一门灵活多变的编程语言,其中数据类型转换是其核心特性之一。在JavaScript中,数据类型转换涉及将一个数据类型转换为另一个,以满足不同操作的需求。这个过程可能会引发一些意外结果,因此理解JavaScript中的数据类型转换至关重要。本文将深入探讨JavaScript数据类型转换,包括隐式类型转换和显式类型转换,以及如何避免常见的陷阱和错误。
海拥
2023/10/14
4030
C#基础知识系列四(运算符汇总)
   本节主要来讲C#中的各种运算符。主要包括is运算符、as运算符、checked和unchecked运算符、sizeof运算符、空接合运算符(??)、&和&&、移位运算符、增量和减量运算符、条件运算符(三元运算符)、命名空间别名限定符。
aehyok
2018/09/11
9140
C#基础知识系列四(运算符汇总)
全面盘点C++类型转换
首先抛出一个面试问题,Type Conversion与Type Casting一样?
公众号guangcity
2023/12/06
6390
全面盘点C++类型转换
C# as 和 is 运算符区别和用法
在C#中,as 和 is 关键字都用于处理类型转换的运算符,但它们有不同的用途和行为。本文我们将详细解释这两个运算符的区别和用法。
追逐时光者
2025/01/25
1300
C# as 和 is 运算符区别和用法
推荐阅读
相关推荐
Java基础入门篇(五)——Java变量类型的转换和运算符
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验