2011-08-26 35 views
0

我有C#字符串看起來像這樣:如何確保我的c#字符串在一段時間內結束?

"abc"; 
"def."; 

當我讀到這些到另一個變量我需要一些簡單的方法來檢查字符串的最後一個字符,如果它不是一個時間然後再追加一段該字符串。

有沒有人有任何想法,我可以做到這一點的簡單方法?

回答

4
namespace ExtensionMethods 
{ 
    public static class StringExtensionMethods 
    { 
     public static string EnsureEndsWithDot(this string str) 
     { 
      if (!str.EndsWith(".")) return str + "."; 
      return str; 
     } 
    } 
} 
+1

...如果它已經有點? –

+0

@fardjad - 這看起來很乾淨。我如何使用該方法? – MIMI

+0

這是一個'String Extension Method'。你可以在每一個字符串上使用它。例如:'string MyString =「abc」; MyString = MyString.EnsureEndsWithDot();' – fardjad

0

這應該做的......

// Appends a ., or if myString was empty to begin with, makes it "." 
myString = (myString != null && myString.Length != 0 && myString[myString.Length - 1] == '.') ? myString : (myString ?? "") + "."; 
+0

是的。據此編輯。 –

+0

另一個用於空檢查和分辨率的編輯。 –

+0

還有一個因爲我不應該在SO窗口中編碼。 –

6
if (!str.EndsWith(".")) str += "."; 

是否有一個原因,你不能做這以不同的方式有關係嗎?

+1

就像我在我的警報中提到的評論一樣,這將會導致null輸入。 –

+0

沒有理由檢查空輸入,如果你沒有辦法在空輸入時調用它。需要知道它將在哪裏以及如何使用。 – BishopRook

相關問題