Wutknubbel
Cadet 3rd Year
- Registriert
- Dez. 2014
- Beiträge
- 61
Hallo Zusammen.
Ich steht gerade etwas auf den Schlauch und verstehe da eine Eigenart von C# nicht so recht.
Ich habe 2 Enums von Typ uint und möchte sie in einer Funktion zuweisen, optimalerweise wollte ich mit out oder ref
arbeiten, aber irgendwie kommt nicht das Gewünschte Ergebnis raus
Wenn ich das Programm Debugge kommt bei ausgabe_a = TestA.TestA2 | TestA.TestA4
und bei ausgabe_b = TestB.TestB_4 raus
Richtig sollte es sein ausgabe_a = TestA.TestA_2 | TestA.TestA_3 | TestA.TestA_4;
und bei ausgabe_b = TestB.TestB_3 | TestB.TestB_4;
Vielleicht kann mich ja jemand mal auf den richtigen weg schubsen
Ps. mit out geht es auch nicht soviel hab ich schonmal herausgefunden
Vielen dank schonmal für die Hilfe.
Ich steht gerade etwas auf den Schlauch und verstehe da eine Eigenart von C# nicht so recht.
Ich habe 2 Enums von Typ uint und möchte sie in einer Funktion zuweisen, optimalerweise wollte ich mit out oder ref
arbeiten, aber irgendwie kommt nicht das Gewünschte Ergebnis raus
C#:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Project1
{
internal class Program
{
[Flags()]
public enum TestA : uint
{
TestA_1 = 0x00000000,
TestA_2 = 0x00000001,
TestA_3 = 0x08001000,
TestA_4 = 0x08001100
}
[Flags()]
public enum TestB : uint
{
TestB_1 = 0x00000000,
TestB_2 = 0x00000001,
TestB_3 = 0x08001000,
TestB_4 = 0x08001100
}
public static void Main(String[] args)
{
TestA ausgabe_a=0;
TestB ausgabe_b=0;
GetFlags(ref ausgabe_a, ref ausgabe_b);
Console.WriteLine("Bestanden!");
}
private static void GetFlags(ref TestA werta, ref TestB wertb)
{
werta = TestA.TestA_2 | TestA.TestA_3 | TestA.TestA_4;
wertb = TestB.TestB_3 | TestB.TestB_4;
}
}
}
Wenn ich das Programm Debugge kommt bei ausgabe_a = TestA.TestA2 | TestA.TestA4
und bei ausgabe_b = TestB.TestB_4 raus
Richtig sollte es sein ausgabe_a = TestA.TestA_2 | TestA.TestA_3 | TestA.TestA_4;
und bei ausgabe_b = TestB.TestB_3 | TestB.TestB_4;
Vielleicht kann mich ja jemand mal auf den richtigen weg schubsen
Ps. mit out geht es auch nicht soviel hab ich schonmal herausgefunden
Vielen dank schonmal für die Hilfe.