ce qui serait son C# code équivalentvb.net C# Code conversion
Dim arLines() As String
Dim int i
arLines = Split(RTB1.Text, vbNewLine)
For i = 0 To UBound(arLines)
''# RTB2.Text = arLines(i)
Next i
ce qui serait son C# code équivalentvb.net C# Code conversion
Dim arLines() As String
Dim int i
arLines = Split(RTB1.Text, vbNewLine)
For i = 0 To UBound(arLines)
''# RTB2.Text = arLines(i)
Next i
string[] arLines;
arLines = RTB1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
for(int i = 0; i < arLines.Length; ++i)
{
RTB2.Text = arLines[i];
}
qui est fait, mais votre code juste efface la propriété Text de RTB2 chaque itération (je suppose qu'il est pas censé être commenté comme dans votre exemple) , vous pouvez aussi bien faire ceci:
string[] arLines;
arLines = RTB1.Text.Split(new string[] { Environment.NewLine }, StringSplitOptions.None);
RTB2.Text = arLines[arLines.Length-1];
Des trucs fous. arLines [arLines.Length] est une IndexOutOfRangeException garantie. Le dernier index valide est arLines.Length - 1. Qu'est-ce que tout le monde fume aujourd'hui? –
Haha, c'est comme ça. –
Environment.NewLine n'est pas toujours identique à vbNewLine. C'est "\ n" sur les plateformes Unix et "\ r \ n" sur les autres plateformes. vbNewLine est toujours "\ r \ n". Donc vous feriez mieux d'utiliser Constants.vbNewLine à partir de Microsoft.VisualBasic.dll. – huha
Il y a un bon traducteur chez Fusion Developer - http://www.developerfusion.com/tools/convert/vb-to-csharp/
J'ai essayé de traduire votre code, mais le traducteur ne fonctionne si votre code compile pour commencer (c'est toujours un excellent endroit pour commencer!). Voir suggestion de @rockinthesixstring :)
Il fait un travail * vraiment * médiocre. –
@Hans pouvez-vous élaborer? Je l'ai toujours trouvé assez fiable - il m'a sauvé de la conversion manuelle de nombreuses pages de code VB (je suis capable de le faire mais qui veut passer ce temps?). –
Information.UBound? Comment un convertisseur ne peut-il pas savoir qu'un tableau a une propriété Length? –
la raison pour laquelle les outils en ligne ne vous ont pas était parce que vous n'envoyez VB valide en premier lieu.
Dim int i ''# will not compile
Vous devez
Dim i As Integer ''# This will compile
Voici le C# équivalent
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);
}
Cependant, le code ci-dessus (un VB direct à C# traduction) ne va pas beaucoup d'aide pour vous soit puisque RTB2.Text sera simplement la dernière itération de votre boucle for.
Un outil de traduction se trouve à
http://converter.telerik.com
BTW, au moins dans mon code pour l'appel de la bibliothèque "Constants.vbNewLine" pour travailler, j'ai dû inclure explicitement une référence à Microsoft.VisualBasic dans les références du projet. – Jeff
C'est vrai @Jeff. Le PO aurait mieux fait de faire une traduction manuelle. –
j'ai essayé des outils en ligne également de convertir ce code C#, mais cela n'a pas fonctionné .... –
Votre code est vraiment simple. Si vous savez ce qu'il fait et un peu C#, vous devriez être capable de le traduire vous-même sans aucun outil. De quelle partie avez-vous besoin d'aide? – dtb
Qui a upvoted quelque chose comme ça? –