我遇到了字符串比較的一些問題,字符串是由Request.queryString接收的字符串和文件.resx中的一行。C#字符串比較不起作用
代碼收到Request.queryString
到一個名爲q
變量,然後它去一個函數來比較,如果線路中有q
值:
while ((line = filehtml.ReadLine()) != null)
{
if (line.ToLower().Contains(q.ToLower().ToString()))
HttpContext.Current.Response.Write("<b>Content found!</b>");
else
HttpContext.Current.Response.Write("<b>Content not found!</b>");
}
正如它在靜態文件搜索,特殊字符必須是審議並seraching爲:iberê
,即從q
到來,與iberê
是從行來:Iberê
例如,因爲.Contains
,.IndexOf
或.LastindexOf
是比較不返回true。
考慮到我已經嘗試使用ResXResourceReader(無法通過Visual Studio找到),ResourceReader和ResourceManager(這些我無法通過要讀取的路徑設置靜態文件)。
編輯:
問題解決了。有中SpecialChars
一個實例,覆蓋q
值與EntitiesEncode
方法
所以你說的是字符串「iber ê」不等於「iber ê」?這是正確的 - 我很驚訝,你感到驚訝... – 2013-04-11 15:23:29
我敢肯定,你將需要將數據轉換爲'byte []'並比較這些數據。 – 2013-04-11 15:24:01