我正在寫作業有一個問題。該任務讓我添加一個私有屬性(私有字符串歷史記錄),它應該是讀/寫的。我可以做到這一切。然後指令說:「確保它不能被覆蓋 - 寫入它應該添加一條線到字符串。」在字符串中添加一行
如何向字符串添加一行而不覆蓋任何內容?
我正在寫作業有一個問題。該任務讓我添加一個私有屬性(私有字符串歷史記錄),它應該是讀/寫的。我可以做到這一切。然後指令說:「確保它不能被覆蓋 - 寫入它應該添加一條線到字符串。」在字符串中添加一行
如何向字符串添加一行而不覆蓋任何內容?
聽起來像一個嚴重措辭的問題。你是對的:一個變量不能改變它的狀態,但同時保持它的狀態。我猜他們的意思是這樣的:
private string _SafeString;
public string SafeString
{
get { return _SafeString; }
set
{
_SafeString += ("\n" + value);
}
}
這樣的字符串「分配」實際上追加到原來的,而不僅僅是分配。
值得一提的是,你永遠不應該在真實世界的代碼中這樣做。 – 2013-03-29 23:18:57
這也是我的理論,但這意味着這項任務是非常糟糕的措辭。 – millimoose
Zoidberg絕對正確。用真實代碼做這件事會讓開發人員非常困惑,因爲他們不知道SafeString屬性除了分配字符串之外不會做其他事情。 –
你屬性的定義更像場或C#財產。你應該看看屬性,它將允許你在一個值被分配給(或從一個字段獲得)時執行各種自定義邏輯。
private string history;
public string History
{
get { return history; }
set
{
// Do something fancy with 'value', e.g:
history = history + "\n" + value;
}
}
夥計們,他並沒有要求任何人做他的功課。詢問如何添加一條線可以幫助他解決一件事。 –
@SonerGönül這是一個荒謬的非建設性的評論。或者說OP的**問題有什麼問題**(不是他問這個問題的動機),還是投票並繼續前進,不要只是嚷嚷一些毫無用處的東西。 (尤其是在新用戶。) – millimoose
我認爲他在問,因爲說明(如他正在呈現他們)是矛盾的。哦,我認爲你的意思是「私人領域」,而不是「私人領域」。 – Tory