에서 작동하지 않습니다 어떤 이유 String.Compare 내가 문자열 값을 비교하기 위해 노력하고있어 더 큰 경우
lesser
equal
using System;
public class Test
{
public static void Main()
{
int cmpValue = String.Compare("N-1.2.0.10", "N-1.2.0.8", StringComparison.InvariantCultureIgnoreCase);
if(cmpValue > 0)
Console.WriteLine("greater");
cmpValue = String.Compare("N-1.2.0.10", "N-1.2.1.10", StringComparison.InvariantCultureIgnoreCase);
if(cmpValue < 0)
Console.WriteLine("lesser");
cmpValue = String.Compare("N-1.2.0.10", "N-1.2.0.10", StringComparison.InvariantCultureIgnoreCase);
if(cmpValue == 0)
Console.WriteLine("equal");
}
}
는
greater
경우는 인쇄되지 않습니다.
"N-1.2.0.10"
이
"N-1.2.0.8"
보다 큰 것으로 간주되는 이유는 무엇입니까? 문자열이 아닌 숫자, 알파벳 순으로 정렬되어 있기 때문에 발생
1은 문자를 비교할 때 8보다 작습니다 (숫자 비교가 아닙니다). –
숫자 값을 분석하여 원하는 결과를 얻을 수 있도록 비교해야합니다. – juharr
나는 이러한 _optimistic 프로그래밍 질문을 항상 좋아합니다. '12'는''Pi''보다 크지 만'Three'는 그들 사이에 있습니다. 그리고'III'는'3' 또는'Three'와 같지 않습니다! .NET이 올바른 일을하지 않는 이유는 무엇입니까? – HABO