文字列に最大4つの数値部分(で区切られている.
)がある場合は、クラスを使用して、Version
これらの文字列に対応する強く型付けされたエンティティを取得できます。Version
さまざまな比較演算子(、、など)を期待どおりに実装する==
ため>
、<
どちらが大きいかを確認できます。
var a = new Version(A);
var b = new Version(B);
if(a > b)
// a is larger
else if (a < b)
// b is larger
else
// they are identical
4つを超える部分がある場合は、各文字列をその数値コンポーネントに分割し、それぞれを同等の数値に変換して、結果の2つのコレクションを比較する必要があります。
何かのようなもの:
var aParts = A.Split('.');
var bParts = B.Split('.');
// assumes the string have the same number of parts
for(int i = 0; i < aParts.Length; i++)
{
var currA = int.Parse(aParts[i]);
var currB = int.Parse(bParts[i]);
if(currA == currB)
continue;
if(currA > currB)
// A is greater than B
else
// B is greater than A
}