0

我需要获取一个版本的前两个八位字节。

例如“4.12.4.5”到“4.12”。

我如何使用 LINQ 做到这一点?

目前,我正在使用以下代码,但它并不完全是 LINQ。

var Version = "2.45.1.2";
char seperator = '.';
var splitVersion = Version.Split(seperator).Take(2).ToList();
var trimmedVersion = splitVersion[0]  + "." + splitVersion[1];

更新

使用版本类回答:

var systemVersion = new Version("2.45.1.44");

var trimmedVersion = systemVersion.Major + "." + 系统版本。次要;

4

4 回答 4

11

我如何使用 LINQ 做到这一点?

为什么 LINQinq,修剪,拆分,加入,正则表达式,当你拥有Version类及其属性时Major,我不知道还有什么?Minor

var version = new Version("2.45.1.2");
string trimmedVersion = version.ToString(2);

.ToString(int fieldCount)方法允许您仅获取您感兴趣的此版本的编号。

于 2013-06-13T06:31:19.520 回答
1

尝试这个How do I do that using LINQ?

var Version = "2.45.1.2";
char seperator = '.';
var splitVersion = Version.Split(seperator).Take(2).ToArray().Aggregate((i, j) => i + "." + j);
于 2013-06-13T06:35:55.243 回答
0

尝试这个:

Version v = new Version("2.45.1.2");
var strippedversion = v.Major.ToString() +"."+ v.Minor.ToString();
Console.WriteLine(strippedversion);
Console.ReadKey();
于 2013-06-13T06:37:17.857 回答
0
void Main()
{
    var Version = "2.45.1.2";
    char seperator = '.';
    var splitVersion = Version.Split(seperator);
    var trimmedVersion = string.Join(".", splitVersion.Take(2));
    Console.WriteLine(trimmedVersion);
}

虽然你之前的工作......没有必要拉入Linq。

于 2013-06-13T06:33:02.590 回答