switch-expression相关内容

组合返回和切换

如何组合 return 和 switch case 语句? 我想要类似的东西 返回开关(a){案例一:“拉拉拉"案例2:“blalbla"案例3:“lolollo"默认值:“默认值"}; 我知道这个解决方案 switch(a){案例1:返回“拉拉拉";案例2:返回“blalbla";案例3:返回“lolollo";默认值:返回“默认值";} 但我只想使用 return 运算符. ..
发布时间:2022-01-19 11:16:57 C#/.NET

void 方法的 C# 8 开关表达式

我知道返回值的方法或属性匹配的 C# 8 switch 表达式 语法.但是如果我们只需要打开一个字符串值并执行一个什么都不返回的方法(没有返回类型/void),那么我们该怎么做呢?我正在考虑某种形式的 Func 但不确定确切的语法.我知道我们可以使用常规 case 语句以旧方式做到这一点,但试图看看我们是否可以使用新语法实现同样的效果. 这是问题的例子 开关(字符串值){案例“添加":添加 ..
发布时间:2022-01-19 10:42:22 C#/.NET

C#中的多变量switch语句

我想使用一个带有多个变量的 switch 语句,如下所示: 开关 (intVal1, strVal2, boolVal3){案例 1,“你好",错误:休息;案例 2,“世界",错误:休息;案例 2,“你好",错误:等等 ....} 有没有办法在 C# 中做这样的事情?(出于显而易见的原因,我不想使用嵌套的 switch 语句). .net 开发团队通过实施这种恐惧来回答了这个问题:C#中 ..
发布时间:2022-01-19 10:38:33 C#/.NET

什么是 switch 表达式,它们与 switch 语句有何不同?

作为 Java SE 12 的一部分,引入了 switch 表达式,并且自 Java SE 14 起,它们已被标准化.它们与 switch 语句有何不同? 解决方案 switch语句: 与 if/else if/else 语句不同,switch 语句可以有许多可能的执行路径.switch 适用于原始类型 byte、short、char 和 int、它们各自的包装类型(Byte、Sho ..
发布时间:2022-01-19 10:29:59 Java开发

C#如何使用带开关的枚举

我不知道如何将开关与枚举结合使用.你能告诉我我做错了什么,以及如何解决它?我必须使用枚举来制作一个基本的计算器. 公共枚举运算符{加、减、乘、除}公共双计算(左整数,右整数,运算符操作){int i = (int) op;开关(一){案例0:{返回左+右;}情况1:{返回左 - 右;}案例2:{返回左*右;}案例3:{返回左/右;}默认:{返回 0.0;}}} 最终结果应该是这样的: Con ..
发布时间:2021-12-29 16:48:10 C#/.NET

有没有办法让 switch 使用 C# 8 switch 表达式返回字符串值?

我有这个代码,其中开关的每个部分都向 ModeMessage2 返回一个值.是否可以使用新的 C# switch 表达式(或任何其他代码优化)来优化此 switch 的工作方式? 开关(设置.模式){案例MO.Learn:模式消息 2 =“当您第一次学习短语及其含义时,请使用此模式.";if (Settings.Cc == CC.H){Settings.Cc = CC.JLPT5;App.car ..
发布时间:2021-09-03 18:39:27 C#/.NET

c# 8 switch 表达式不“智能";足够的

这段代码很简单,只是一个普通的开关: 布尔值?isSomething = strSomething 开关{“我" =>真的,“D"=>错误的,_ =>空值,}; 但是,编译器给了我以下错误: CS0037 无法将 null 转换为 'bool',因为它是不可为 null 的值类型 这个变量显然是一个可以为 null 的 bool bool?,为什么 c# 编译器不能在没有我必须强制 ..
发布时间:2021-09-03 18:38:18 其他开发

组合返回和开关

如何组合 return 和 switch case 语句? 我想要类似的东西 返回开关(a){案例1:“拉拉拉"案例 2:“布拉布拉"案例3:“lolollo"默认:“默认"}; 我知道这个解决方案 开关(a){情况1:返回“lalala";情况 2:返回“balbla";情况 3:返回“lolollo";默认:返回“默认";} 但我只想使用 return 运算符. 解决方案 ..
发布时间:2021-09-03 18:34:31 C#/.NET

什么是switch表达式,它们与switch语句有何不同?

作为Java SE 12的一部分, 引入了switch 表达式,自Java SE 14开始,它们已经标准化.它们与 switch 语句有何不同? 解决方案 switch 语句: 与 if/else if/else 语句不同, switch 语句可以具有许多可能的执行路径.一个 switch 可以使用以下原始类型: byte , short , char 和 int ,它们各自的包装器 ..
发布时间:2021-05-18 19:27:38 Java开发

无效方法的C#8开关表达式

我知道用于返回值或属性匹配的方法的 C#8 switch expression 语法.但是,如果我们只需要打开一个字符串值并执行不返回任何内容的方法(不返回类型/void),那么我们该如何处理呢?我在考虑某种形式的Func,但不确定确切的语法.我知道我们可以使用常规的case语句以旧方式完成此操作,但是试图查看是否可以使用较新的语法实现相同的功能. 这是问题的例子 开关(字符串值){情况“ ..
发布时间:2021-04-18 19:09:42 C#/.NET

C#8开关表达式具有相同结果的多种情况

如何编写switch表达式以支持多个返回相同结果的案例? 对于版本8之前的C#,可能会这样编写一个开关: var switchValue = 3;var resultText = string.Empty;开关(switchValue){情况1:情况2:情况3:resultText =“一对三";休息;情况4:resultText =“四个";休息;情况5:resultText =“五" ..
发布时间:2021-04-18 18:37:03 C#/.NET

想启用可为空的引用类型时如何处理可选参数?

我看到打开(非)空引用类型的巨大优势,但是我有很多带有可选参数的方法,我想知道正确的方法来纠正编译器产生的警告. 通过使用?注释类型使参数可为空,从而消除了所有好处.另一个想法是将所有带有可选参数的方法转换为单独的方法,这需要大量工作,并且会产生很高的复杂度(参数组合呈指数级增长). 我当时正在考虑这样的事情,但是我真的怀疑这是否是一眼就能看到的好方法(在性能方面): [Fact ..
发布时间:2020-07-01 22:23:15 C#/.NET