使用LINQ修剪版本

时间:2013-06-13 06:29:39

标签: c# linq

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

例如“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];

更新

使用Version分组答案:

  

var systemVersion = new Version(“2.45.1.44”);

     

var trimmedVersion = systemVersion.Major +“。” + systemVersion.Minor;

4 个答案:

答案 0 :(得分:11)

  

如何使用LINQ做到这一点?

为什么LINQinq,修剪,拆分,加入,重新处理,当你拥有Version类及其MajorMinor属性时,我不知道还有什么?

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

.ToString(int fieldCount)方法允许您只获取您感兴趣的此版本的数字。

答案 1 :(得分: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);

答案 2 :(得分: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。

答案 3 :(得分:0)

试试这个:

Version v = new Version("2.45.1.2");
var strippedversion = v.Major.ToString() +"."+ v.Minor.ToString();
Console.WriteLine(strippedversion);
Console.ReadKey();