C#中字符串比较的问题

string a="wewewr";
string b="fdkwe";
Compare(a,b);//这一行会返回什么,为什么,请说详细点,谁最详细且答得对分数给谁??

Compare函数是一个字符串比较函数,其函数原形是Compare(string a,stringb),功能是比较两个字符串的大小。
例如这里的例子中,string a="wewewr";
string b="fdkwe";
如果两个字符串是相同的,则返回0。
如果不同,则从比较第一个不同的字符串的ASCII码的大小,这里‘w’比 ‘f’大,则返回1,反之如果比他小则返回-1。
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-03-12
>Compare(a,b);//这一行会返回什么,为什么,请说详细点,谁最详细且答得对分数给谁??
不厚道,你是希望大家帮你哦,不是大家图你什么。晕,这破分,能吃还是能喝,还是能用来找工作。
希望你端正态度。

既然来了,回答你的问题。
首先,Compare是什么?难道不是String.Compare么?
其次,如果是String.Compare,那么返回值是int。
格式为:
int compareResult = String.Compare(string1, string2, false, CultureInfo.CurrentCulture);
看了上边的式子,我觉得不用我说了,你就应该懂了吧。

注意:String.Compare是大小写敏感的,也是文化命感的。

但是我们常用的是不带2个敏改性的比较方法:
public static int Compare (
string strA,
string strB
)
返回值 小于0 >>> strA 比 strB小
大于0 >>> strA 比 strB大
等于0 >>> 一样

内部比较采用国际化比较原则:通常来说是按照字母表来比较且小写大于大写。(内部有个权重weight,根据你指定的不同' - 之类有可能比字母大也有可能比字母小)
下来是几个特殊情况:
1。任何string都比null大
2。2个null一样大
3。strA是strB的一部分,strB大

你也可以实现IComparer接口,这样的话就可以用sort了。
第2个回答  推荐于2017-11-25
正常情况下,应该返回两个字符串的差,如zhangsan和zhangshanshan比较就会从‘z'开始比较,相等比较下一个’h',。。。最后比较到‘a'和’h'不同返回‘a'-’h'的值,如果两个字符串相同返回0
即:
int compare(char *a,char *b)
{
while(*a==*b)
{
if(!*a)return 0;
a++;
b++;
}
return (*a-*b);
}本回答被提问者采纳
第3个回答  2008-03-12
string a = "string a";//a=97
string A = "string A";//A=65
string b = "string b";//b=98

Console.Write(string.CompareOrdinal(a, A));//32

Console.Write(string.CompareOrdinal(b, A));//33
Console.Write(string.CompareOrdinal(A, a));//-32

Console.Write(string.CompareOrdinal(A, b));//-33
第4个回答  2020-06-17
//虽然你贴出来的代码很少,我这里就当做你的ds是已经出到数据的ds
DataSet
ds
=
new
DataSet();
string
a
=
"abc";
for
(int
i
=
0;
i
<
ds.Tables[0].Rows.Count;
i++)
{
if
(a
==
ds.Tables[0].Rows[i]["要对比的字段名称"].ToString())
{
}
}
相似回答