You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将C# 8 switch表达式转换为传统switch语句?

转换后的传统switch语句实现

以下是将原C# 8 switch表达式转换为传统switch语句的代码:

private static bool TryGetScaleTransform(FrameworkElement frameworkElement, out ScaleTransform scaleTransform)
{
    scaleTransform = null;
    var layoutTransform = frameworkElement.LayoutTransform;

    switch (layoutTransform)
    {
        case TransformGroup transformGroup:
            scaleTransform = transformGroup.Children.OfType<ScaleTransform>().FirstOrDefault();
            break;
        case ScaleTransform transform:
            scaleTransform = transform;
            break;
        default:
            scaleTransform = null;
            break;
    }

    return scaleTransform != null;
}

说明

  • 先初始化scaleTransform为null,满足out参数必须赋值的语法要求
  • 把frameworkElement.LayoutTransform提取为局部变量,避免重复访问属性
  • 用带类型模式匹配的传统switch语句,完全对应原表达式的分支逻辑
  • 最终返回的判断逻辑和原代码保持一致

内容的提问来源于stack exchange,提问作者CKuttan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.20 21:24:28