It really depends on where you are with experience. If you have some programming with OOP languages, then I'd probably start with XNA and then go on to Mono. If you're brand spanking new, or used to older stuff like GWBASIC or even Visual Basic, I would probably start at the C# (which it looks like you have), learn that pretty well, then XNA and Monogame finally. From what I understand, Monogame is basically written as a XNA extention which allows you more portability.
Also, Monogame is prone to some errors that can be rather eccentric to trace down, so a familiarity with C# and XNA proves very useful trying to solve those issues. (Not that I know first hand, I've stuck with C# and XNA which seem to do most everything I'd want to.. we just seem to get a lot of Monogame questions). And lastly, there are a lot of people here familiar with XNA, and even a few wandering into Unity, but not many Monogame users. So, if you have a question you have a better likelihood of getting an answer with C# or XNA.
Sorry couldn't be more helpful!