2013-01-11 61 views
1

我必須使用.NET 2.0和我沒有任何支持LINQ在這裏,也...如何刪除特殊字符恰好.NET 2.0,不提供LINQ

我試着用字符刪除修剪()和微調()功能,如:

string guid = Guid.NewGuid().ToString(); 
    string result = header.Trim(new Char[] { ' ', '-'})); 

但對於Trim()樣品,其結果是一樣的string guid(它們只是相等)。

我已經完成了這樣的功能,但是我想使用密封的String class正確的功能。

 string guid = Guid.NewGuid().ToString(); 
     string result = String.Empty; 

     for (int i = 0; i < guid.Length; i++) 
     { 
      if (guid[i] != '-') result += guid[i]; 
     } 

但它看起來像普通的C風格,我想完全使用String函數。我在哪裏使用Trim()和Remove()來失敗。

不要忘了,我不能使用Linq或.NET 2.0以上版本,所以這個問題是上下級...

回答

1

,你總是可以使用正則表達式

system.text.regularexpressions.regex.replace(guid.NewGuid(),"[\s|-]",""); 
+0

非常感謝!但我仍然困惑爲什麼不修剪()工作? – Secret

+2

....現在他有兩個問題。 – MikeTheLiar

+0

@mikeTheLiar你在什麼地方看到我強烈地詢問關於1件事情?嘗試再讀一遍,否則我可能會通過真實郵件向您發送一些眼鏡,而不是網頁上的一張 – Secret

3
string guid = Guid.NewGuid().ToString("N"); //generate it the right way 

result = guid.Replace("-", "").Replace(" ", ""); 

不要使用正則表達式。這是不必要的複雜和不必要的緩慢。這不是最好的解決方案。