Jar*_*ers 0 c# vb.net operators
我使用在线转换器将一段Visual Basics代码转换为C#.VB中的以下代码:
Dim aset As New DataSet
aset = *code*
Dim str As String = ""
Dim str7 As String = ""
Dim str4 As String = ""
Dim str10 As String = ""
If (If(((str7 = str10) AndAlso (str7 <> "")), 1, 0) = 0) Then
str7 = Conversions.ToString(aset.Tables.Item(0).Rows.Item(i).Item("PIN"))
End If
If (i <> 0) Then
str4 = (str4 & " ,")
End If
str4 = (str4 & str)
str10 = str7
i += 1
Run Code Online (Sandbox Code Playgroud)
转换为以下C#代码:
DataSet aset = new DataSet();
aset = *code*
string str = "";
string str7 = "";
string str4 = "";
string str10 = "";
if ((((str7 == str10) && (str7 != "")) ? 1 : 0 == 0))
{
str7 = Conversions.ToString(aset.Tables[0].Rows[i]["PIN"]);
}
if ((i != 0))
{
str4 = (str4 + " ,");
}
str4 = (str4 + str);
str10 = str7;
i += 1;
Run Code Online (Sandbox Code Playgroud)
我的问题涉及?:运算符.我试图对它进行研究,但对我来说仍然有点混乱.我在C#版本中收到一条错误,指出"无法确定条件表达式的类型,因为'int'和'bool'之间没有隐式转换." 所以当我更改下面的C#代码时:
if ((((str7 == str10) && (str7 != "")) ? 1 : 0 == 0))
Run Code Online (Sandbox Code Playgroud)
到下面的代码:
if ((((str7 == str10) && (str7 != "")) ? 1 == 0: 0 == 0)) //I changed '1' to '1 == 0'
Run Code Online (Sandbox Code Playgroud)
错误似乎消失了.但是,我不相信我正确地修正了错误来执行程序在VB代码中所做的事情,或者我的解决方案是否改变了那段代码的目的.如果我所做的是正确的,或者我需要做什么,我将非常感谢您的帮助.
Ry-*_*Ry- 15
C#转换错误,VB很糟糕.
If (If(((str7 = str10) AndAlso (str7 <> "")), 1, 0) = 0) Then
Run Code Online (Sandbox Code Playgroud)
是
If If(((str7 = str10) AndAlso (str7 <> "")), 1, 0) = 0 Then
Run Code Online (Sandbox Code Playgroud)
是
If Not ((str7 = str10) AndAlso (str7 <> "")) Then
Run Code Online (Sandbox Code Playgroud)
是
If Not (str7 = str10) OrElse Not (str7 <> "") Then
Run Code Online (Sandbox Code Playgroud)
是
If str7 <> str10 OrElse str7 = "" Then
Run Code Online (Sandbox Code Playgroud)
.那么等效的C#就是if (str7 != str10 || str7 == "").
| 归档时间: |
|
| 查看次数: |
324 次 |
| 最近记录: |