gpt4 book ai didi

c# - VB转C#帮助(?运算符)

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

对于将以下 VB 代码转换为 C# 的帮助,我将不胜感激。到目前为止,代码转换器工作正常,但在这部分我有点碰壁,我不知道如何解决。

For Y As Integer = 0 To If(Flip, 1, 3)
...
Next

一开始我认为这会起作用:

for (int Y = 0; (Y <= Convert.ToInt32(Flip)) ? 1 : 3; Y++)
{
...
}

但遗憾的是,事实并非如此。也许我只是不知所措,但我不确定如何在这里继续。

感谢您的任何建议!

编辑:

翻转是一个 bool 值。转换器建议

for (int Y = 0; Y <= Flip ? 1 : 3; Y++)

导致 运算符 <= 不能应用于 int 和 bool 类型的操作数。因此,为什么我尝试转换。然而,转换导致无法将 int 隐式转换为 bool 或相反。

解决方案:

Flip 周围的括号? 1:3好像解决了问题。因此,除了一个小细节外,转换似乎是正确的。

for (int Y = 0; Y <= (Flip ? 1 : 3); Y++)

谢谢大家!

最佳答案

你应该使用

(Flip ? 1 : 3)

相反。两个 VB 的 If operator?: operator在 C# 中要求第一个操作数是 bool 值。因此,在您的情况下,Flip 已经必须是一个 bool 值,您根本不必将其转换为整数即可在条件运算符中使用它。

关于c# - VB转C#帮助(?运算符),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32824403/

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