c#要有什么的基础