求:在C#中怎样实现字符串不区分大小写的比较??

时间:2022-01-17 00:48:14
在C#中怎样实现字符串不区分大小写的比较??

比如
string aaa="aaa";
string bbb="aAa";

那么aaa==bbb的值为false  这在很多时候不方便,C#是否提供自带的函数??

还有,hashtable中的键,如果是键是字符串,能否不区分大小写??
比如:
Hashtable ht;
ht.Add("aaa", "tttttt");
这时,能用ht["aaa"]取出内容,能否用ht["aAa"]取出内容???


在VB中,设置一个属性就可以了啊! vb中的dictionary对象也可以设置为不区分大小写了,难道C#中就不提供了?????

22 个解决方案

#1


1.用String.Compare 比如
 return String.Compare(aaa,bbb,true) //true 表示不区分大小写

#2


可以将字符串全部转换为大写或者小写后再比较

#3


2.你全部转换成大写或小写不也区别不出来吗?

#4


1.String.Compare(string1,string2,true)

#5


2.同意楼上的

#6


谢谢不同兄的解答

有没人有能解释在Hashtable中的不区分大小写的问题??

再问一下,有没有这种方法?

jjj="I am a man";
jjj.indexOf("man")返回字符串的位置,
jjj.indexOf("Man")方法,由于大小写问题,将返回-1,有什么方法可以解决???

#7


转换为小写啊。楼主

#8


自己顶。再等10分钟,就明天再上来看了

#9


转换成大写和小写我知道,但是好像挺麻烦的。

我主要想知道,C#中是否也有VB中一样,可以方便地进行不区分大小写的比较和查询

#10


C#就是区分大小写没办法,转换成大小写也不是很复杂吧

#11


全部转换成大写或小写再比较

#12


String.Compare(string1,string2,true)更好!

#13


VB的String比较比C#要慢。什么事都是要付出代价的。

#14


那么,在C#中,这种不区分大小写的string比较和查找,必须写自己的函数了。

在Hashtable中的键,也只能统一转换为大写或小写,是不是????

#15


Hashtable在初始化的时候可以加入一个ICompare的实例
你可以自己实现他,并放到hashtable中去,这样他就会按照你要的方法查找数据了。

#16


你也不需要自己写比较的code啊,

string s1 = "abcC";
string s2 = "abcc";
string.Compare(s1,s2,true);就可以达到目的。

#17


但是,如果是查找,怎么办???

例如:
string aaa="I am LW8122";

那么
aaa.IndexOf("lw8122")
的结果一定是没找到。

如果用系统提供的方法进行这种查找???

#18


比较的时候加一个转换就行了呗,都转换成小写的或者大写的
aaa.ToString().ToLower()或者bbb.ToString().ToUpper()

#19


Search方法

#20


对呀.先全部转换成大写或小写再比较嘛.

#21


xuzuning
search方法是哪提供的,没找到

#22


我在文本文件中搜索,用的就是把要查找的,和文件中的字符串都变成小写,当然并不修改文件中的实际内容,而是把文件的内容存到一个string中去,然后把这个string转成小写。

#1


1.用String.Compare 比如
 return String.Compare(aaa,bbb,true) //true 表示不区分大小写

#2


可以将字符串全部转换为大写或者小写后再比较

#3


2.你全部转换成大写或小写不也区别不出来吗?

#4


1.String.Compare(string1,string2,true)

#5


2.同意楼上的

#6


谢谢不同兄的解答

有没人有能解释在Hashtable中的不区分大小写的问题??

再问一下,有没有这种方法?

jjj="I am a man";
jjj.indexOf("man")返回字符串的位置,
jjj.indexOf("Man")方法,由于大小写问题,将返回-1,有什么方法可以解决???

#7


转换为小写啊。楼主

#8


自己顶。再等10分钟,就明天再上来看了

#9


转换成大写和小写我知道,但是好像挺麻烦的。

我主要想知道,C#中是否也有VB中一样,可以方便地进行不区分大小写的比较和查询

#10


C#就是区分大小写没办法,转换成大小写也不是很复杂吧

#11


全部转换成大写或小写再比较

#12


String.Compare(string1,string2,true)更好!

#13


VB的String比较比C#要慢。什么事都是要付出代价的。

#14


那么,在C#中,这种不区分大小写的string比较和查找,必须写自己的函数了。

在Hashtable中的键,也只能统一转换为大写或小写,是不是????

#15


Hashtable在初始化的时候可以加入一个ICompare的实例
你可以自己实现他,并放到hashtable中去,这样他就会按照你要的方法查找数据了。

#16


你也不需要自己写比较的code啊,

string s1 = "abcC";
string s2 = "abcc";
string.Compare(s1,s2,true);就可以达到目的。

#17


但是,如果是查找,怎么办???

例如:
string aaa="I am LW8122";

那么
aaa.IndexOf("lw8122")
的结果一定是没找到。

如果用系统提供的方法进行这种查找???

#18


比较的时候加一个转换就行了呗,都转换成小写的或者大写的
aaa.ToString().ToLower()或者bbb.ToString().ToUpper()

#19


Search方法

#20


对呀.先全部转换成大写或小写再比较嘛.

#21


xuzuning
search方法是哪提供的,没找到

#22


我在文本文件中搜索,用的就是把要查找的,和文件中的字符串都变成小写,当然并不修改文件中的实际内容,而是把文件的内容存到一个string中去,然后把这个string转成小写。