vb.net到c#代码转换

时间:2010-12-03 01:23:16

标签: c# vb.net

它的c#等效代码是什么

    Dim arLines() As String
Dim int i
    arLines = Split(RTB1.Text, vbNewLine)
    For i = 0 To UBound(arLines)
        ''# RTB2.Text = arLines(i)
    Next i 

3 个答案:

答案 0 :(得分:4)

string[] arLines;
arLines = RTB1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
for( int i = 0; i < arLines.Length; ++i )
{
    RTB2.Text = arLines[i];
}

已经完成了,但是你的代码只是在每次迭代时消除了RTB2的Text属性(我假设它不应该像你的例子那样被注释掉),所以你也可以这样做:< / p>

string[] arLines;
arLines = RTB1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
RTB2.Text = arLines[arLines.Length-1];    

答案 1 :(得分:4)

在线工具没有帮助你的原因是因为你没有首先发送有效的VB。

Dim int i ''# will not compile

你需要

Dim i As Integer ''# This will compile

这是C#等价物

string arLines = null;
int i = 0;
arLines = Strings.Split(RTB1.Text, Constants.vbNewLine);
for (i = 0; i <= Information.UBound(arLines); i++) {
 RTB2.Text = arLines(i);
}

然而,上面的代码(直接VB到C#转换)对你来说没有多大帮助,因为RTB2.Text只是你for循环的最后一次迭代。

在一个很好的翻译工具 http://converter.telerik.com

答案 2 :(得分:2)

Developer Fusion上有一位优秀的翻译员 - http://www.developerfusion.com/tools/convert/vb-to-csharp/

我已经尝试过翻译你的代码但翻译器只有在你的代码编译开始时才有效(这总是一个很好的起点!)。请参阅@rockinthesixstring中的建议:)