[C#]比較字串

摘要:比較字串

剛剛在寫程式的時候突然寫到,所以就來補充一下...
先講一個以前常用的,現在已經改掉了,那就是判斷是否為空字串
以前常用的應該是:
if(str=="")
其實這是一個不好的用法,因為她會去運行比較字串這個動作,比較有效率的做法應該是
if(str.Length==0)
因為長度的屬性在字串建立時就已經產生了,所以得到屬性比較快
注意!以上要條件成立,str不可以為null
如果str有可能為null請改用 string.IsNullOrEmpty(str)來代替...

那如果要判斷兩個字串是否相等,當然盡量用內建的方法
if(str1.Equal(str2))
因為除了單純的比較之外,還可以做忽略大小寫的比較,
以往如果要做忽略大小寫的比較通常都要在做一次ToUpper()或ToLower(),這樣就變得複雜了
str1.Equals(str2, StringComparison.OrdinalIgnoreCase);
這樣不是簡單多了...
MSDN Library有詳細說明
http://msdn.microsoft.com/zh-tw/library/cc165449.aspx