截断版本号C#

时间:2015-08-06 18:45:59

标签: c# .net version

如果我的版本号有5位数,例如" 1.0.420.50.0",我怎么能截断这个号码(以及其他版本号,如" 1.0.512.500.0&# 34;)只有4位数? " 1.0.420.50.0" - > " 1.0.420.50"

我更喜欢使用数组,但任何其他方法都可以使用! 感谢您提前获得任何建议!

3 个答案:

答案 0 :(得分:5)

我暂时没有在c#中编程,所以语法可能会关闭。如果版本控制可能超过六位数,您将不需要依赖于删除最后一位数的方法。而只需采用前四个版本号。

#include <iostream>
using namespace std;


class InterfaceA
{
public:

InterfaceA(std::string message)
{
    std::cout << "Message from InterfaceA: " << message << std::endl;
}

private:
    InterfaceA() = delete;
};


class MyClass: InterfaceA
{
public:
    MyClass(std::string msg) : InterfaceA(msg)
    {
        std::cout << "Message from MyClass: " << msg << std::endl;
    }
};

int main()
{
    MyClass c("Hello Stack Overflow");
    return 0;
}

答案 1 :(得分:0)

如果它是一个字符串,你可以做类似

的事情
ver = "1.2.3.4.5";
ver = ver.substring(0, ver.lastindexof(".");

这应该可以让你一直到最后一次&#34;。&#34;。如果您的版本号变得更长或更短,这不是很强大,但它适用于5位版本号。如果你有一个字符串,这也是你想要的基本想法。

答案 2 :(得分:0)

获取最后一个句点的索引,然后从索引0获取子字符串到最后一个句点的索引。 EX:

string version = "1.0.420.50.0";
int lastPeriodIndex = version.LastIndexOf('.');
string reformattedVersion = version.Substring(0, lastPeriodIndex);

通过使用数组,如果那是你真正想要的:

string version = "1.0.420.50";
var numbers = version.Split(new char[]{'.'}, StringSplitOptions.RemoveEmptyEntries);
string reformattedVersion = numbers[0] + '.' + numbers[1] + '.' + numbers[2] + '.' + numbers[3];

但这不是一个优雅/快速的解决方案。