Ich weiß, ich kann multiplizieren, aber die faule Programmierung Ich bin ich will nicht.Irgendein Trick, um eine Enum als Flags/Potenzen von 2 zu definieren, ohne irgendwann einen Taschenrechner zu benötigen?
Hat jemand irgendeine Zauberei erfunden, um die Enums als Zweierpotenzen zu nummerieren?
Hier ist das Beispiel, das ich gerade haben es konkret zu machen:
[Flags]
private enum Targets : uint
{
None = 0,
Campaigns = 1,
CampaignGroups = 2,
Advertisers = 4,
AdvertiserGroups = 8,
AffiliateGroups = 16,
Affiliates = 32,
Creatives = 64,
DetailedLeads = 128,
DetailedSales = 256,
ProgramLeads = 512,
CreativeDeployments = 1024,
CampaignCategories = 2048,
Payouts = 4096,
All = uint.MaxValue
}
Multiplizieren Sie den vorherigen Wert von 2? –
einfachste Sache ist es, sie bis zu 2^64 zu speichern? – JeremyWeir
Dafür sind Rechner da. Sie sollten Hex-Werte verwenden, nur um mit Multiplikation der Basis 16 geübt zu bleiben. :) – IAbstract