Windowsのファイルバージョンといえば、1.2.3.4という4つのセクションに分かれたバージョン体系ですので、であればC#のVersionクラスもそれしか対応していないのかなと思っていたのですが、2.0という文字列でもVersionクラスはよしなに処理してくれるようです。
using System; public class Program { public static void Main() { var version = new Version("2.0"); Console.WriteLine("major=" + version.Major + "minor=" + version.Minor + "revision=" + version.Revision + "build=" + version.Build); } }
比較も簡単です。
using System; public class Program { public static void Main() { var v_2_0 = new Version("2.0"); var v_1_4 = new Version("1.4"); var v_1_12 = new Version("1.12"); Console.WriteLine(v_1_4 < v_2_0); Console.WriteLine(v_1_4 < v_1_12); } }
これがSystemライブラリで利用できるのだから、C#のライブラリは本当に洗練されているなと感じますね。