有关字符比较(30分)
savl 2003-05-15 08:08:38 对于下面代码字符串比较所耗的时间,谁能做详细一点的解释,看.net的帮助还是不明白。
Sub Main()
Const NUM_ITER As Integer = 10000000
Dim result As Integer
Dim str1 As String = "satisfaction"
Dim str2 As String = "satisfaction"
Dim startTime As Integer
Dim endTime As Integer
Dim count As Integer
startTime = Environment.TickCount
For count = 1 To NUM_ITER
result = String.Compare(str1, str2)
Next
endTime = Environment.TickCount
Console.WriteLine("Compare: " & CStr(endTime - startTime))
’结果是5148
startTime = Environment.TickCount
For count = 1 To NUM_ITER
result = str1.CompareTo(str2)
Next
endTime = Environment.TickCount
Console.WriteLine("CompareTo: " & CStr(endTime - startTime))
’结果是6479
startTime = Environment.TickCount
For count = 1 To NUM_ITER
result = String.CompareOrdinal(str1, str2)
Next
endTime = Environment.TickCount
Console.WriteLine("CompareOrdinal: " & CStr(endTime-startTime))
’结果是1212
startTime = Environment.TickCount
For count = 1 To NUM_ITER
result = str1.Equals(str2)
Next
endtime = Environment.TickCount
Console.WriteLine("Equals (instance): " & CStr(endTime-startTime))
’结果是971
startTime = Environment.TickCount
For count = 1 To NUM_ITER
result = String.Equals(str1, str2)
Next
endTime = Environment.TickCount
Console.WriteLine("Equals (shared): " & CStr(endTime-startTime))
’结果是270
End Sub