Hallo!
Ich bin gerade dabei Quellcode von VB.NET zu C# zu übersetzen, und komme nicht mehr weiter.
Hier erst mal der VB.NET Code:
Spoiler anzeigen
Und hier der übersetzte C# Code:
Spoiler anzeigen
Bei dem C# Code habe ich z.B. ein Problem mit der foreach Schleife (Nbr wurde nicht gefunden), genauso sind bei
Des Weiteren würde mich interessieren ob dieser VB.NET Code
wirklich das hier ist in C#
Da fehlt doch das Handle, oder nicht?
Würde mich über Hilfe freuen.
Ich bin gerade dabei Quellcode von VB.NET zu C# zu übersetzen, und komme nicht mehr weiter.
Hier erst mal der VB.NET Code:
VB.NET-Quellcode
- Private WithEvents Control As Controller.XboxController
- Private Sub Hand_Load(sender As Object, e As EventArgs) Handles Me.Load
- Dim Controllers As New List(Of Controller.XboxController)
- For Each Nbr In {0, 1, 2, 3}
- Dim TempCntrl As New Controller.XboxController(Me, CUInt(Nbr))
- TempCntrl.StickMaximumRadius = 34000
- TempCntrl.TrimStickLength = True
- TempCntrl.Poll()
- If TempCntrl.StartCapturing(False) Then
- Controllers.Add(TempCntrl)
- End If
- Next
- Select Case Controllers.Count
- Case Is = 0
- MessageBox.Show("Es ist kein Controller angeschlossen.")
- Me.Close()
- Return
- Case Is = 1
- Control = Controllers.First
- Case Else
- Dim Str = String.Empty
- Dim Number As UInteger
- Do
- Dim InputStr = InputBox("Es sind mehrere Controller angeschlossen." & vbNewLine &
- "Bitte wählen: " & String.Join(", ", Controllers.ConvertAll(Function(x) x.ControllerNumber).ToArray))
- If UInteger.TryParse(Str, Number) Then Continue Do
- Loop Until Number < Controllers.Count()
- Control = Controllers.First
- End Select
- End Sub
Und hier der übersetzte C# Code:
C#-Quellcode
- private XboxController Control;
- private void Form1_Load(object sender, EventArgs e)
- {
- List<XboxController> Controllers = new List<XboxController>();
- foreach (Nbr in {
- 0,
- 1,
- 2,
- 3
- }) {
- XboxController TempCntrl = new XboxController(this, Convert.ToUInt32(Nbr));
- TempCntrl.StickMaximumRadius = 34000;
- TempCntrl.TrimStickLength = true;
- TempCntrl.Poll();
- if (TempCntrl.StartCapturing(false))
- {
- Controllers.Add(TempCntrl);
- }
- }
- switch (Controllers.Count)
- {
- case 0:
- MessageBox.Show("Es ist kein Controller angeschlossen.");
- this.Close();
- return;
- case 1:
- Control = Controllers.First;
- break;
- default:
- dynamic Str = string.Empty;
- uint Number = 0;
- do
- {
- dynamic InputStr = Interaction.InputBox("Es sind mehrere Controller angeschlossen." + Constants.vbNewLine + "Bitte wählen: " + string.Join(", ", Controllers.ConvertAll(x => x.ControllerNumber).ToArray));
- if (uint.TryParse(Str, Number))
- continue;
- } while (!(Number < Controllers.Count()));
- Control = Controllers.First;
- break;
- }
- }
Bei dem C# Code habe ich z.B. ein Problem mit der foreach Schleife (Nbr wurde nicht gefunden), genauso sind bei
Control = Controllers.First
das .First unbekannt, oder etwas weiter oben das Interaction
.Des Weiteren würde mich interessieren ob dieser VB.NET Code
wirklich das hier ist in C#
Da fehlt doch das Handle, oder nicht?
Würde mich über Hilfe freuen.