我遇到了字符串比较的一些问题,字符串是由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