创建不可变的类,例如字符串

时间:2019-06-18 20:33:51

标签: c# c#-4.0 c#-3.0

我正在尝试清除有关c#中不可变类的概念。我部分实现了它,但不完全像字符串。

public class User
{
            private string _firstName, _surname, _email;

    private int _age;
    public string FirstName => _firstName
    public string Surname => _surname;
    public string Email => _email;

    public int Age => _age;

    public User(string firstName, string surname, string email, int age)
    {
        _firstName = firstName;
        _surname = surname;
        _email = email;
        _age = age;
    }
}

因此,如果我尝试创建这样的用户对象。

        User u = new User("Bob", "Henry", "abc@abc.com", 15);
        u.Age = 10;
        u.Surname = "test";

因此,当我尝试重新分配年龄或姓氏时,它不会允许我。但是在字符串类(这是一个不可变的类)中,我们可以执行以下操作。

string test = "Test String";
test = "New Test String";

在字符串类中有效。我无法实现这一目标。

0 个答案:

没有答案