我正在做作业有一个问题。赋值让我添加了一个私有属性(私有字符串历史),它应该是读/写的。我可以做到这一切。然后说明说“确保它不能被覆盖 - 写入它应该在字符串中添加一行。”
如何在不覆盖任何内容的情况下在字符串中添加一行?
答案 0 :(得分:6)
听起来像是一个措辞严厉的问题。你是对的:一个变量不能改变它的状态,同时保持它的状态。我猜他们的意思是这样的:
private string _SafeString;
public string SafeString
{
get { return _SafeString; }
set
{
_SafeString += ("\n" + value);
}
}
所以'分配'字符串实际上附加到原始字符串,而不仅仅是分配。
答案 1 :(得分:1)
您对属性的定义更像是C#中的 field 或 property 。您应该查看属性,它将允许您在将值分配给(或从某个字段获取)时执行各种自定义逻辑。
private string history;
public string History
{
get { return history; }
set
{
// Do something fancy with 'value', e.g:
history = history + "\n" + value;
}
}