gpt4 book ai didi

c# - 是否可以简单地使用 C# switch 表达式来避免输入 break 命令?

转载 作者:行者123 更新时间:2023-11-30 20:14:47 25 4
gpt4 key购买 nike

我有这段代码,我想知道。是否可以将其更改为使用新的 C# 表达式来消除对 break;

的需要
switch (reposition)
{
case (int)POS.First: cIndex = 0; break;
case (int)POS.Last: cIndex = cIndexLast; break;
case (int)POS.Prev: cIndex--; break;
case (int)POS.Next: cIndex++; break;
}
reposition = null;

对霍根的回应

enter image description here

最佳答案

唯一的问题是您不能使用 --++

cIndex = (POS)resposition switch
{
POS.First => 0,
POS.Last => cIndexLast,
POS.Prev => cIndex-1,
POS.Next => cIndex+1
};

关于未涵盖的评论 - 这里我们正在转换为 POS,因此涵盖了 POS 中的所有情况。在这之前你应该有代码来检查并查看reposition的数值是否在pos的范围内。 (或者,如果您的代码自然而然地执行此操作,您就不必担心。)

你可以使用

if (POS.IsDefined(typeof(POS), resposition) { ... }

帽子提示 https://stackoverflow.com/a/29489/215752

关于c# - 是否可以简单地使用 C# switch 表达式来避免输入 break 命令?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59277501/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com