C# Pros and Cons