문제

다음은 "1, 5, 0, 4"또는 "1.5.0.4"형식의 두 가지 버전 식별자를 사용하여 최신 버전을 결정하는 내 코드입니다.

제안 또는 개선 사항을 부탁드립니다! 라코 디스 <시간>

@ 대런 콥 :

버전 클래스는 1.0.0.5 형식의 버전을 처리하지 않습니다.

도움이 되었습니까?

해결책

System.Version 클래스는 버전을 지원하지 않습니다.쉼표가 포함되어 있으므로 Darren Kopp 에서 제시 한 솔루션으로는 충분하지 않습니다.

다음은 가능한 한 간단한 버전입니다 (더 간단하지는 않음).

System.Version 을 사용하지만비교하기 전에 검색-바꾸기를 수행하여 "1, 2, 3, 4"와 같은 버전 번호. 라코 디스

코드는 다음으로 테스트되었습니다. 라코 디스

다른 팁

버전 클래스를 사용하세요. 라코 디스

글쎄요, 4 개의 요소 배열 만 있기 때문에 시간을 절약하기 위해 재귀를 풀고 싶을 수도 있습니다.배열을 인수로 전달하면 메모리가 소모되고 GC가 나중에 정리하기 위해 엉망이됩니다.

버전 문자열의 각 위치가 하나의 숫자 (또는 적어도 마지막 3 개 이상)라고 가정 할 수 있다면 쉼표 나 마침표를 제거하고 비교할 수 있습니다.견고하지만 항상 필요한 것은 아닙니다. 라코 디스

네, 여기에 4 개의 버전이 있다고 가정합니다 ...

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top