最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

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

网站源码admin1浏览0评论

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

运算符

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运行复制
csharp
int i = 10;
long l = (long)i; // 显式转换
double d = i;    // 隐式转换

浮点型转换:

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

csharp 字符串转换:

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

使用 as 和 is:

代码语言:javascript代码运行次数:0运行复制
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 删除异常c#笔记对象数据类型
发布评论

评论列表(0)

  1. 暂无评论