My general rule of thumb is that unless you're going out of your way to try to look edgy or trendy, it's best to just stick with lighter, paler shades of color. For the shirt's background color, I just stick with pastel-type shades like white, sky blue, medium blue, mint green, pink, lavender, etc. Beige, ecru, taupe, and similar colors could also work well. I don't know how others view this, but I'd be very wary of combining darker colors with a suit and tie, especially in the traditional suit colors like navy, gray, and black. Maybe I've just been traumatized be seeing too many clueless guys try to set themselves apart from the crowd by wearing gaudy Kenneth Cole-type dress shirts in dark purple, maroon, gold, and gunmetal gray in combination with some metallicly shiny Regis tie in a clashing color. I just think it's a lot harder to go wrong with a lighter, paler color that doesn't try to compete with or overshadow the suit.