avatar

一条在知识海洋的咸鱼

这个家伙很懒,啥也没有留下😋

  • 首页
  • Linux
  • OCJP
  • Java核心技术卷
  • J2EE相关标准
  • 深入理解Java虚拟机
  • NIO与SOcket编程技术指南
  • Java多线程编程核心技术
  • Redis开发与运维
  • Spring Cloud Alibaba 微服务原理与实践
  • DevOps
  • Docker
  • MySQL必知必会
  • AI自学路线
  • Spring Boot 编程思想(核心篇)
主页 流程控制和类型转换
文章

流程控制和类型转换

发表于 2022-05-15 更新于 2026-06- 10
作者 Administrator
13~16 分钟 阅读

对变量进行简单操作、流程语句块执行判断、将变量或表达式值从一种类型转换为另一种、异常处理、数值溢出

  • 操作变量
  • 一元运算符
    • 二元运算符
    • 赋值运算符
    • 逻辑运算符
    • 条件逻辑运算符/短路布尔运算符
    • 移位运算符
    • 其他运算符
  • 流程控制
    • if
    • swith语句
    • swith在C#7之后可以匹配模式
    • switch可以通过when匹配简化
  • 迭代语句
    • while
    • for循环
  • 类型转换
    • 强制类型转换
    • System.Convert类型转换
      • 基本类型
      • 转换数字
      • 二进制、Base64字符串互相转换
      • 日期、时间和字符串相互转换

操作变量

一元运算符

由于一元运算符容易混淆,建议单独使用,不要和=一起使用

  • i++、i--
    先赋值后运算
  • ++i、--i
    先运算后赋值
int a=3;
int b=a++;
Console.WriteLine($"a={a},b={b}");
a=3;
b=--a;
Console.WriteLine($"a={a},b={b}");

image.png

二元运算符

+、-、*、/、%

赋值运算符

=、+=、-=、*=、/=

逻辑运算符

&、|、^(异或运算符,只有一个为true则为true。相同为false、相反为true)

条件逻辑运算符/短路布尔运算符

&&、||

移位运算符

<<、>>其能够更快地执行某些运算

其他运算符

  • nameof以字符串的形式返还变量、类型或成员的短路名称(可用于输出异常消息)
  • sizeof返回简单类型的字节大小(确定内存大小效率)
int age=47;
Console.WriteLine(nameof(age));
Console.WriteLine(sizeof(int));

流程控制

if

C7.0增加了if语句可以将is关键字与局部变量声明结合,判断其是否为某种类型,如果是则临时赋值,并且可以在语句块中使用该变量,使用更安全

if (true)
{
    
}
else if (false)
{
    
}
object o = "3";
if (o is int a)
{
    Console.WriteLine(true);
    Console.WriteLine(a);
}
else
{
    Console.WriteLine(false);
    Console.WriteLine(o);
}

swith语句

swith语句对应每个case的内容可以有:

  • break 退出swith
  • goto case 关键字
  • 没有语句
  • return 退出当前函数
  • default 未匹配
    应避免使用goto跳转到另一个case

swith在C#7之后可以匹配模式

不仅仅可以匹配字面值

List<string> list = new List<string>();
switch (list)
{  
    case List<string>:
        Console.WriteLine("List");
        break;
}

switch可以通过when匹配简化

迭代语句

while

  • while和do while
while (true)
{
    
}
do
{

} while (true);

for循环

  • fori循环
for (int i = 1; i < 10; i++)
{
    
}
  • foreach循环
    foreach循环需要对象实现迭代器,内部获得的对象不能修改原对象的值
foreach (string s1 in list)
{
    
}

类型转换

强制类型转换

分为隐式和显式转换,

  • 隐式
    安全,自动执行(小->大)
  • 显式
    不安全可能会丢失信息,手动执行(大->小)
    使用()强转
int a=10;
double b=a;//小转大,隐式

long c=20;//大转小,显式
a=(int)c;

System.Convert类型转换

基本类型

  • System.Convert可以转换所有基本类型、字符串、日期和时间
var int32 = System.Convert.ToInt32(b);

转换数字

  • 可以四舍五入或者自定义取整规则

二进制、Base64字符串互相转换

  • 将二进制对象转换为Base64字符串
    Convert.ToBase64String
  • 将Base64字符串转换为二进制对象
    Convert.FromBase64String

日期、时间和字符串相互转换

  • 转换为字符串
    ToString
  • 转换为日期、时间
    Parse(),如果不能转换则会抛出异常可以用TryParse()方法先进行验证,如果可以转换则为true,否则返回false
C#入门
许可协议: 
分享

相关文章

5月 15, 2022

编写、调试、测试函数

编写函数重用代码、调试逻辑错误、记录日志、单元测试编写函数无返回值的函数编写函数无返回值的函数声明为void的函数无返回值,但方法入参out关键字会导致参数通过引用来传递。且可以不用事先声明初始化,可以达到有多个返回值的效果using static System.Console;namespace

5月 15, 2022

流程控制和类型转换

对变量进行简单操作、流程语句块执行判断、将变量或表达式值从一种类型转换为另一种、异常处理、数值溢出操作变量一元运算符二元运算符赋值运算符逻辑运算符条件逻辑运算符/短路布尔运算符移位运算符其他运算符操作变量一元运算符由于一元运算符容易混淆,建议单独使用,不要和=一起使用i++、i--先赋值后运算++i

5月 14, 2022

C#编程基础

基础相关命令行工具C#关键字基础相关命令行工具dotnet --version查看 .NET Core SDK版本dotnet new console创建控制台应用dotnet run运行当前目录源代码C#关键字100多个关键字using、namespace、class、static、int、st

下一篇

编写、调试、测试函数

上一篇

C#编程基础

最近更新

  • 55 异常兜底:工具失败、非法输出、空检索与超时
  • 54 Agent Memory:短期记忆、用户上下文与摘要
  • 53 Human-in-the-loop:让关键动作暂停、确认与恢复
  • 52 工单 Tool:字段校验、创建结果与失败补偿
  • 51 订单 Tool:Mock、鉴权、状态解析与脱敏

热门标签

java基础 微服务 maven Spring Tomcat DDD Linux Linux基础 SQL基础 数据结构算法

目录

©2026 一条在知识海洋的咸鱼. 保留部分权利。

使用 Halo 主题 Chirpy