我有如下代码:
public ProcessedDocument Discarding_NonArabic_Letters(string[] savedSeparators,string notAllArabic)
{
string[] splittedStrings = notAllArabic.Split(savedSeparators, StringSplitOptions.RemoveEmptyEntries);
ProcessedDocument allArabicPD; 
ArabicLettersStruct ar = ArabicLetters();
Char[] arabicLettersArray = ar.arabicLettersArray;
String arabicLettersString = ar.arabicLettersStringWithSpace;
StringBuilder result = new StringBuilder();foreach (string ss in splittedStrings){ foreach (Char c in ss.ToCharArray())  {
     if (arabicLettersString.IndexOf(c) >= 0)
    {
       result.Append(c);
    }  }  result.Append(savedSeparators[0].ToString());}allArabicPD = new ProcessedDocument(result.ToString()); 
//contains only Arabic letters + special separatorreturn TrimExtraSpaces(allArabicPD);}================================================== 假如有这个值 savedSeparators[0] = "C:"
这个语句result.Append(savedSeparators[0].ToString());正常执行后,
能正确添加"C:" 给result.
但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,
result变量中的"C:" 变成了"C",丢失了“:”???类似的情况,
假如有这个值 savedSeparators[0] = "C:\"
这个语句result.Append(savedSeparators[0].ToString());正常执行后,
能正确添加"C:\" 给result.
但这条语句allArabicPD = new ProcessedDocument(result.ToString()); 执行后,
result变量中的"C:\" 却变成了"C\\" ???请问是什么原因呢?怎样解决这个奇怪的问题?