机器视觉开发工程师常用C#判断结构与使用方法大总结

发布于:2025-04-08 ⋅ 阅读:(71) ⋅ 点赞:(0)

在 C# 中,判断结构主要通过 if 语句和 switch 语句实现,用于根据条件执行不同的代码逻辑。以下是详细说明:

  1. if 语句
    基本语法:
if (condition)
{
    // 当条件为 true 时执行的代码
}

示例:

int num = 15;
if (num > 10)
{
    Console.WriteLine("数字大于 10");
}
  1. if-else 语句
    语法:
if (condition)
{
    // 条件为 true 时执行
}
else
{
    // 条件为 false 时执行
}

示例:

int age = 18;
if (age >= 18)
{
    Console.WriteLine("已成年");
}
else
{
    Console.WriteLine("未成年");
}
  1. else if 链式判断
    用于多个条件分支:
if (condition1)
{
    // 条件1为 true 时执行
}
else if (condition2)
{
    // 条件2为 true 时执行
}
else
{
    // 其他情况执行
}

示例:

int score = 85;
if (score >= 90)
{
    Console.WriteLine("A");
}
else if (score >= 80)
{
    Console.WriteLine("B"); // 输出 B
}
else
{
    Console.WriteLine("C");
}
  1. switch 语句
    适用于多个固定值的分支判断。

基本语法:

switch (expression)
{
    case value1:
        // 当 expression 等于 value1 时执行
        break;
    case value2:
        // 当 expression 等于 value2 时执行
        break;
    default:
        // 默认情况
        break;
}
  1. switch 表达式(C# 8.0+)
    更简洁的语法,适合返回值:
var result = day switch
{
    "Monday" => "工作日开始",
    "Friday" => "周末临近",
    _ => "其他天" // 默认分支
};
Console.WriteLine(result);
  1. 模式匹配(C# 7.0+)
    支持类型检查和条件组合:
object obj = 42;
switch (obj)
{
    case int i when i > 0:
        Console.WriteLine($"正数: {i}");
        break;
    case string s:
        Console.WriteLine($"字符串: {s}");
        break;
    default:
        Console.WriteLine("未知类型");
        break;
}

关键注意事项
条件类型:if 的条件必须是 bool 类型(C# 不允许隐式转换,如 if(1) 会报错)。
case 穿透:C# 的 switch 默认不支持隐式穿透,必须使用 break 或 return 终止。如需穿透,需显式使用 goto case:

case 1:
    Console.WriteLine("Case 1");
    goto case 2;
case 2:
    Console.WriteLine("Case 2");
    break;

性能:switch 在多个固定值判断时通常比 if-else 链更高效。
选择建议
使用 if:条件复杂或需要范围判断时(如 x > 5 && x < 10)。
使用 switch:针对同一变量的多个固定值匹配时(如枚举、字符串或整数)。


网站公告

今日签到

点亮在社区的每一天
去签到