2013-03-29 2799 views
-1

我正在寫作業有一個問題。該任務讓我添加一個私有屬性(私有字符串歷史記錄),它應該是讀/寫的。我可以做到這一切。然後指令說:「確保它不能被覆蓋 - 寫入它應該添加一條線到字符串。」在字符串中添加一行

如何向字符串添加一行而不覆蓋任何內容?

+1

夥計們,他並沒有要求任何人做他的功課。詢問如何添加一條線可以幫助他解決一件事。 –

+5

@SonerGönül這是一個荒謬的非建設性的評論。或者說OP的**問題有什麼問題**(不是他問這個問題的動機),還是投票並繼續前進,不要只是嚷嚷一些毫無用處的東西。 (尤其是在新用戶。) – millimoose

+0

我認爲他在問,因爲說明(如他正在呈現他們)是矛盾的。哦,我認爲你的意思是「私人領域」,而不是「私人領域」。 – Tory

回答

6

聽起來像一個嚴重措辭的問題。你是對的:一個變量不能改變它的狀態,但同時保持它的狀態。我猜他們的意思是這樣的:

private string _SafeString; 
    public string SafeString 
    { 
     get { return _SafeString; } 
     set 
     { 
      _SafeString += ("\n" + value); 
     } 
    } 

這樣的字符串「分配」實際上追加到原來的,而不僅僅是分配。

+3

值得一提的是,你永遠不應該在真實世界的代碼中這樣做。 – 2013-03-29 23:18:57

+1

這也是我的理論,但這意味着這項任務是非常糟糕的措辭。 – millimoose

+0

Zoidberg絕對正確。用真實代碼做這件事會讓開發人員非常困惑,因爲他們不知道SafeString屬性除了分配字符串之外不會做其他事情。 –

1

屬性的定義更像或C#財產。你應該看看屬性,它將允許你在一個值被分配給(或從一個字段獲得)時執行各種自定義邏輯。

private string history; 
public string History 
{ 
    get { return history; } 
    set 
    { 
     // Do something fancy with 'value', e.g: 
     history = history + "\n" + value; 
    } 
}