我正在尝试拆分当前的应用程序版本号,但删除了前导零。
如何更改分割以不删除前导零。
获取currentVersionNo:
startUpAssembly.GetName().Version.ToString()
所以测试:
string versionNo = "7.01.7000.0";
string[] versionInfo = versionNo.Split('.');
这会产生:
7
1 //Here i need it to be 01
7000
0
我需要它不要删除前导零。我如何实现这一目标?
使用正则表达式可能有更好的解决方案吗?
答案 0 :(得分:20)
System.Version
不是任意字符串 - 它是四个整数。前导零是无关紧要的,因此在转换回字符串时不包括在内。那是您丢失信息的地方 - 而不是String.Split
。你可以很容易地看到这一点:
using System;
class Test
{
static void Main()
{
Version version = new Version("7.01.7000.0");
Console.WriteLine(version); // 7.1.7000.0
}
}
基本上,您的计划存在根本缺陷,您应该更改设计。你不应该尝试代表" 7.01.7000.0"的版本。开头。
此外,您应退后一步,考虑一下您的诊断程序:是什么让您认为String.Split
应该归咎于此?为什么不是第一步看startUpAssembly.GetName().Version.ToString()
的结果?