2017-08-02 84 views
0

我有一個應用程序更新文檔中的值,但是,其中一些文檔具有此值的多個條目。由於這個原因,我創建了一個Do Something循環,但這只是循環,並沒有取代這些值。陷入循環更新值

我的代碼如下:

do 
{ 
    int dollarIndex = script.IndexOf("$"); 
    string nextTenChars = script.Substring(dollarIndex - 17, 17); 
    string promptValue = CreateInput.ShowDialog(nextTenChars, "Input"); 
    script.Replace("$", promptValue); 
} 
while (script.Contains("$")); 
+6

假設它的一個字符串,它是*不變*:'腳本= script.Replace(...' –

+0

@AlexK,感謝亞歷但這只是檢查的第一個值,並且不更新任何其他的 – Tom

+3

'script.Replace' * *回報的替換後的新字符串 - 它不會在原地更改「腳本」。你需要存儲返回值,否則'script'總是包含'$',所以'script.Contains(「$」)'總是'true',因此你的循環將一直運行,直到宇宙的熱量死亡。 –

回答

3

字符串是不變的,所以你需要做的:

script = script.Replace("$", promptValue); 

簡單地做

script.Replace("$", promptValue); 

不更新的價值script