-1

我正在尝试从 SQL 数据库中检索一个值以增加版本号。该值是字符串,但我需要解析 . 并将值存储在我用来创建新版本号的 int 形式变量中。前任。11.0.0.2 我需要将 0 0 2 存储在变量中。我如何去做我之前用一个变量而不是三个变量完成的事情?这是我解析第一个的方式。这也是他们需要进入的变量。

string[] s = cmboBoxPreviousVersion.Items[cmboBoxPreviousVersion.SelectedIndex].ToString().Split(' ');
int id;

SelectedVersion.FormatID = Convert.ToInt32(s[0]);
SelectedVersion.load();

string oldPath = lblBrowseName.Text;
string newpath = @"C:\Users\Public\Labels\";
int labelcode = Convert.ToInt32(SelectedVersion.FormatID);
int v1 = 0;
int v2 = 0;
int v3 = 1;

他们在同一个班级。

4

2 回答 2

2

尝试使用Version类而不是编写代码。

它是为解析和比较版本号而设计的。

你可以做这样的事情

string versionText = "11.1.2.3" ;
Version versionNumber = new Version( versionText ) ;

或者Version.TryParse(),如果您想控制如何处理无效数据,请使用:

string versionText = "11.1.2.3" ;
Version versionNumber 
bool parsedOk = Version.TryParse(versionText,out versionNumber) ;
于 2013-11-05T22:33:47.260 回答
0

如果我没看错,您希望将“11.0.0.2”之类的字符串放入整数数组 {11, 0, 0, 2};

这可以使用split和轻松完成select

string version = "11.0.0.2";
IEnumerable<int> numbers = version.Split('.').Select(int.Parse);

按照米奇的说法进行编辑,您可以使用版本来简化此操作。

Version versionNumber = new Version("11.0.0.2");  

这是在这种情况下填写的字段

在此处输入图像描述

于 2013-11-05T22:40:50.207 回答