请教CompareTo 的一个小问题

yinzhiw 2005-06-25 06:34:13
有下面代码:
using System;

public class CompareToTest {
public static void Main() {

string s1 ="a";
string s2 ="A";

// compare a string to itself
int cmpVal = s1.CompareTo(s2);
if (cmpVal > 0)
Console.WriteLine("S1>S2");
else if (cmpVal == 0 )
Console.WriteLine("S1=S2");
else
Console.WriteLine("S1<S2");
Console.ReadLine();
}

}
结过是S1<S2,难道a 是97,A是65结过应该是S1>S2把?
...全文
72 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
hamadou 2005-06-27
  • 打赏
  • 举报
回复
可以继承icompare类,重写compareto方法,使其根据字符的ascii码来进行比较。默认的比较方式是CompareMethod.text的。
yinzhiw 2005-06-27
  • 打赏
  • 举报
回复
谢谢ufrshchenw的参与,我觉得你解释的不是很清楚,能详细点吗?
ufrshchenw 2005-06-27
  • 打赏
  • 举报
回复
你的理解错了!CompareTo()是比较两个字符或者数字的函数,比较的时候不是根据它们的ASCII进行表示,如果是int型的就会有3种情况,要是String或者Char型的,就只有两种结果=0和<0
yinzhiw 2005-06-27
  • 打赏
  • 举报
回复
没有人帮我回答一下这个问题吗?

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧