我今天剛剛遇到這個問題,並想知道如果有人有任何想法爲什麼這個測試可能會失敗(取決於文化)。目的是檢查測試文本是否包含彼此相鄰的兩個空格,根據string.IndexOf
(即使我告訴字符串替換所有出現的彼此相鄰的兩個空格)。經過一些測試,似乎\xAD
在某種程度上導致了這個問題。字符串IndexOf並替換
public class ReplaceIndexOfSymmetryTest
{
[Test]
public void IndexOfShouldNotFindReplacedString()
{
string testText = "\x61\x20\xAD\x20\x62";
const string TWO_SPACES = " ";
const string ONE_SPACE = " ";
string result = testText.Replace(TWO_SPACES, ONE_SPACE);
Assert.IsTrue(result.IndexOf(TWO_SPACES) < 0);
}
}
我不確定這是否會成爲您的問題,但如果您在此測試中彼此相鄰有3個空格,那麼您最終會在最後以2個爲一個。 – 2011-02-07 15:42:03
測試成功了我。您確定您發佈的代碼與您正在測試的代碼相同嗎? – 2011-02-07 15:54:49