Foreach statement for two OfType How would I write a foreach statement that includes both of these statement together

//clear textboxes
foreach (Control c in panel1.Controls.OfType&lt;TextBox&gt;())
        {
            if (!string.IsNullOrEmpty(c.Text))
            {
                c.Text = "";
            }
        }
        //clear price label text
        foreach (Control c in panel1.Controls.OfType&lt;Label&gt;())
        {
            if ((string)c.Tag == "Clearable")
            {
                c.Text = "";
            }
        }
You could write it in 1 loop but you'll still need separation of logic for each type of Control:

foreach(Control c in panel1.Controls)
{
    if(c is TextBox)
    {
        var tb = c as TextBox;
        if(!String.IsNullOrEmpty(tb.Text))
            tb.Text = "";
    }

    if(c is Label)
    {
        var l = c as Label;
        if(l.Tag != null &amp;&amp; l.Tag.ToString() == "Clearable")
            l.Text = "";
    }
}