2012-07-21 20 views

risposta

11

XFontStyle è un tipo enum. È possibile utilizzare la logica bit a bit per combinare i valori.

const XFontStyle ItalicUnderline = XFontStyle.Italic | XFontStyle.Underline ; 

const XFontStyle BoldItalicUnderline = XFontStyle.Bold | XFontStyle.Italic | XFontStyle.Underline ; 
+0

Sembra strano (per me) utilizzare OR piuttosto che AND, ma funziona, grazie. –

+0

@Henk: la logica bit a bit non è disponibile per tutte le enumerazioni. L'attributo Flags è richiesto nella definizione enum (che è ok per XFontStyle) – Koen

+0

@BernhardHofmann: non confondere la logica bit a bit con la logica booleana. Ogni bit nel valore ha un significato diverso. Il 1 ° bit definisce grassetto, il 2 ° bit definisce il corsivo, ecc. Il '|' (OR bit a bit) combina i valori applicando l'operatore a ciascun bit dello stesso indice e, se si desidera combinare i valori binari "1000" e "0100", è necessario utilizzare OR per ottenere "1100". Bitwise AND (&) restituirebbe "0000". – Koen

Problemi correlati