C#不变性