第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())
{
}
}