Я использовал онлайн-конвертер для преобразования части кода Visual Basic в C#. Следующий код в VB:?: Оператор в VB до C#
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
был преобразован в следующий код 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;
Мои вопросы борьбы с оператора?:. Я пытался провести исследование, но это все еще немного запутывает меня. Я получаю сообщение об ошибке в версии C#, в которой говорится: «Тип условного выражения не может быть определен, потому что нет никакого неявного преобразования между« int »и« bool ». Поэтому, когда я изменил следующий C# кусок кода:
if ((((str7 == str10) && (str7 != "")) ? 1 : 0 == 0))
на следующий кусок кода:
if ((((str7 == str10) && (str7 != "")) ? 1 == 0: 0 == 0)) //I changed '1' to '1 == 0'
ошибка, кажется, уходит. Тем не менее, я не уверен, что я правильно исправил ошибку, чтобы делать то, что программа выполняла в коде VB, или если мое решение изменило цель этой части кода. Любая помощь будет очень признательна, чтобы сообщить мне, правильно ли я сделал или что мне нужно делать.
http://msdn.microsoft.com/en-us/library/ty67wk28.aspx –