我正在尝试清除有关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";
在字符串类中有效。我无法实现这一目标。