c#工程师需要的条件有哪些