当前位置 : 主页 > 编程语言 > c语言 >

将VB转换为C#help(?运算符)

来源:互联网 收集:自由互联 发布时间:2021-06-24
我很感激将以下VB代码转换为C#的一些帮助.代码转换器到目前为止工作正常,但是这部分我碰到了一个砖墙,我不知道如何解决它. For Y As Integer = 0 To If(Flip, 1, 3)...Next 我认为这最初会起作用
我很感激将以下VB代码转换为C#的一些帮助.代码转换器到目前为止工作正常,但是这部分我碰到了一个砖墙,我不知道如何解决它.

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

我认为这最初会起作用:

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

但唉它没有.也许我只是不知所措,但我不知道如何继续这里.

谢谢你的任何建议!

编辑:

翻转是一个布尔值.转换器建议

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和C#中的?: operator都要求第一个操作数是布尔值.所以在你的情况下,Flip必须是一个布尔值,你根本不需要转换为一个整数来在条件运算符中使用它.

网友评论