Hi Florian, Danke schon mal :)
Die zwei fehlt weil ich's übersehen habe ;) None brauch ich nicht, weil immer in mindestens einem scope gesucht werden soll. Tja .. jetzt muss ich alles mit if the elses abfragen . .schade .. dachte dass man da was einfacheres (weniger Code) nutzen kann. Viele Grüße, Micha -----Original Message----- From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Florian Kruesch Sent: Donnerstag, 14. Juli 2005 12:17 To: [email protected] Subject: Re: [Asp.net] Flags und Enum und c# Michael - || und && sind logische Verknüpfungen, für Flags musst Du die bitweise Verknüpfung benutzen - also | und &. Um zu prüfen, ob ein Flag gesetzt ist, maskierst Du den Test-Wert mit dem Flag mit einer Und-Verknüpfung - der Wert muss dann dem Flag entsprechen. Du kannst auch auf int casten und auf ungleich 0 vergleichen: [Flags] private enum SearchScopeEnum { EU = 1, AP = 4, NA = 8, All = EU | NA | AP }; static void Main(string[] args) { // EU und AP, bitwise or; binär: 0001 | 0100 = 0101 SearchScopeEnum EUundAP = SearchScopeEnum.AP | SearchScopeEnum.EU; // EU if ( (EUundAP & SearchScopeEnum.EU) == SearchScopeEnum.EU) { Debug.WriteLine("EU"); } // EU, alternativ if ( (int)(EUundAP & SearchScopeEnum.EU) > 0) { Debug.WriteLine("EU"); } if ( (EUundAP & SearchScopeEnum.AP) == SearchScopeEnum.AP) { Debug.WriteLine("AP"); } if ( (EUundAP & SearchScopeEnum.NA) == SearchScopeEnum.NA) { Debug.WriteLine("NA"); } } Warum fehlt eigentlich die 2? Du könntest auch noch NONE=0 einführen: if ( (EUundAP & SearchScopeEnum.NA) != SearchScopeEnum.NONE) { Debug.WriteLine("NA"); } Gruss, Florian -- www.kruesch.de _______________________________________________ Asp.net Mailingliste, Postings senden an: [email protected] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net _______________________________________________ Asp.net Mailingliste, Postings senden an: [email protected] An-/Abmeldung und Suchfunktion unter: http://www.glengamoi.com/mailman/listinfo/asp.net
