var versionNo = new System.Version("2.01");
我得到了值versionNo
= 2.1
,但我希望它为2.01
。
有什么建议吗?
答案 0 :(得分:10)
这就是system.Version
的工作方式 - 它将版本的组件存储为单独的整数,因此2.01
和2.1
之间没有区别。如果您需要以这种方式显示它,您可以将其格式化为:
Version versionNo = new Version("2.01");
string s = string.Format("{0}.{1:00}",versionNo.Major, versionNo.Minor);
为方便起见,您还可以创建一个扩展方法:
public static string MyFormat(this Version ver)
{
return string.Format("{0}.{1:00}",ver.Major, ver.Minor);
}
这样,您仍然可以自定义显示,同时保留Version
类的可比性。
答案 1 :(得分:7)
System.Version的每个组件都是一个int,所以它不会填充0.你可以有一个major,minor和build:
Version versionNo = new Version("2.0.1");
导致
Version = 2.0.1
但一般来说,01和1是等价的。如果你想特别填充版本0的任何组件,我建议你覆盖版本的ToString方法或创建一个扩展方法(如D Stanley所述),或者使用不同的类型。
答案 2 :(得分:1)
如果您的版本为2.01
,则表示您的MinorVersion
为01
。
要输出,您需要pad MinorVersion
,这样做:
string version = version.Major.ToString() + version.Minor.ToString("D2");