c# - String.Split() 删除前导零

标签 c# .net string split

<分区>

我正在尝试拆分我当前的应用程序版本号,但删除了前导零。

如何更改拆分以不删除前导零。

获取当前版本号:

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

我需要它不删除前导零。我如何实现这一目标?

也许使用正则表达式有更好的解决方案?

最佳答案

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() 的结果?

关于c# - String.Split() 删除前导零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13470678/

相关文章:

c# - LINQ:链 ID 从一行到另一行

c# - 如何使用 Entity Framework 为我的存储库实现事务?

c# - Npgsql:一个连接,多个命令

c# - 带有 Rfc2898DeriveBytes 的 PBKDF2 为相同的输入产生不同的输出?

java - 字符串到堆栈和队列

R 相当于 python 中的 string.replace()

.net - Threading.Timer与Forms.Timer

c# - 如何播放音频文件 - .NET MAUI

c# - 如何配置 log4net consoleappender 以根据 Level 写入 Console.Err 和 Console.Out?

PHP PayPal 支付验证/HTTP POST?