I'm in the middle of developing a feature in an application that allows a user to save their preferred font (family, size, underlined, bold, or italic). I should start out by saying that I haven't used enums much in my first few years of developing or binary or inside a constructor for that matter so my knowledge in this area is weak.

As many know, setting up a new font is straightforward.

```
Font font = new Font("Arial", FontStyle.Bold | FontStyle.Underline);

```

My question is if there is a clean way of passing into the constructor any one of the combinations of underline, bold or italic which could be none of them, maybe just bold, bold or italic, etc?

Clean to me is not having to have to do something like this.

```
if(myFont.Bold || myFont.Underline || myFont.Italic)
{
    font = new Font("Arial", FontStyle.Bold | FontStyle.Underline | FontStyle.Italic);
}
else if(myFont.Bold || myFont.Underline)
{
    font = new Font("Arial", FontStyle.Bold | FontStyle.Underline);
}
else if(myFont.Bold || myFont.Italic)
{
    font = new Font("Arial", FontStyle.Bold | FontStyle.Italic);
}

```

... and so forth