如果我的版本号有5位数,例如" 1.0.420.50.0",我怎么能截断这个号码(以及其他版本号,如" 1.0.512.500.0&# 34;)只有4位数? " 1.0.420.50.0" - > " 1.0.420.50"
我更喜欢使用数组,但任何其他方法都可以使用! 感谢您提前获得任何建议!
答案 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];
但这不是一个优雅/快速的解决方案。