var versionNo = new System.Version("2.01");
我得到值versionNo
= 2.1
,但我希望它为2.01
.
请问有什么建议吗?
这就是工作原理 - 它将版本的组件存储为单独的整数,因此和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
类的可比性。
System.Version 的每个组件都是一个 int,因此它不会填充 0。您可以有一个主要、次要和构建:
Version versionNo = new Version("2.0.1");
这导致
Version = 2.0.1
但通常,01 和 1 是等价的。如果您想专门填充版本 0 的任何组件,我建议您覆盖版本的 ToString 方法或创建扩展方法(如 D Stanley 所述),或使用不同的类型。
如果您的版本是2.01
,那意味着您MinorVersion
是01
。
要输出它,您必须通过执行以下操作来填充, MinorVersion
:
string version = version.Major.ToString() + version.Minor.ToString("D2");