Home
Browse all 647 examples
Download all 647 examples
Download sample chapters
Reviews
Errata
Acknowledgments
Links on .NET
Paradoxal Press
Buy directly from Paradoxal Press at $33.99 (Save 43%)
Category: Programming
Level: Beginner to seasoned
900 pages
ISBN-10 097661322-0
ISBN-13 978-097661322-0
$59.99 USA
$79.99 CANADA
|
Listing 10-28 extracted from chapter The .NET 2 type system from a C#2 point of view
Listing 10-27< > Listing 10-29
This listing can be compiled with the command line: csc.exe /target:exe Example_10_28.cs Errors: 0 Warnings: 0
Example_10_28.cs
// Don't need more than a byte to store 3 binary flags.
[System.Flags()]
enum Flags : byte {
Flag1 = 0x01, // The first bit is true, the others are false.
Flag2 = 0x04, // The third bit is true, the others are false.
Flag3 = 0x10 // The fifth bit is true, the others are false.
}
class Program {
public static void Main() {
// flag is equal to 10001000 (binary notation).
Flags flag = Flags.Flag1 | Flags.Flag3;
// (If the first bit is set) equivalent to (If Flag1 is set).
if ( (flag & Flags.Flag1) > 0 ) { /* */ }
// (If the 3th and 5th are set) equivalent to
// (If Flag2 and Flag3 are set).
if ( (flag & Flags.Flag2) > 0 && (flag & Flags.Flag3) > 0 ){ /* */ }
System.Console.WriteLine( flag.ToString() );
}
}
Copyright Patrick Smacchia 2006 2007
|