如何比较在 C#.net 中分成 3 组的字符串?
How to compare string which is divided in 3 group in C#.net?
我想比较组中的 3 个数字。
string first = "1.0.1";
string second = "1.0.0";
string third = "2.1.0";
string forth = "1.1.0";
这些都是版本。我想从中获得最高版本。目前第三个="2.1.0"是最高的。
谁能告诉我最短路线?还是我应该进行自定义编码?
试试专门为此设计的Version
class,例如:
string first = "1.0.1";
string second = "1.0.0";
if (new Version(first) > new Version(second)) {
...
}
你的情况
// "2.1.0"
String biggest = new String[] {
first, second, third, forth }
.Max(item => new Version(item))
.ToString();
您可以使用 Version
class 比较版本以找到最高版本。
例如
List<Version> versions = new List<Version>();
versions.Add(new Version("1.0.1"));
versions.Add(Version("1.0.0"));
versions.Add(Version("2.1.0"));
versions.Add(Version("1.1.0"));
现在您可以对列表进行排序,并获得最高值:
versions.Sort();
var highestVersion = versions.First();
为什么不使用 Version
类型?这实现了 IComparable
接口,因此如果您有它们的集合,您可以使用 LINQ 表达式来获取最大值。
Version first = new Version(1, 0, 1);
Version second = new Version(1, 0, 0);
Version third = new Version(2, 1, 0);
Version fourth = new Version(1, 1, 0);
List<Version> versions = new List<Version>() { first, second, third, fourth };
Version maximumVersion = versions.Max(); // returns the 'third' object
我想比较组中的 3 个数字。
string first = "1.0.1";
string second = "1.0.0";
string third = "2.1.0";
string forth = "1.1.0";
这些都是版本。我想从中获得最高版本。目前第三个="2.1.0"是最高的。
谁能告诉我最短路线?还是我应该进行自定义编码?
试试专门为此设计的Version
class,例如:
string first = "1.0.1";
string second = "1.0.0";
if (new Version(first) > new Version(second)) {
...
}
你的情况
// "2.1.0"
String biggest = new String[] {
first, second, third, forth }
.Max(item => new Version(item))
.ToString();
您可以使用 Version
class 比较版本以找到最高版本。
例如
List<Version> versions = new List<Version>();
versions.Add(new Version("1.0.1"));
versions.Add(Version("1.0.0"));
versions.Add(Version("2.1.0"));
versions.Add(Version("1.1.0"));
现在您可以对列表进行排序,并获得最高值:
versions.Sort();
var highestVersion = versions.First();
为什么不使用 Version
类型?这实现了 IComparable
接口,因此如果您有它们的集合,您可以使用 LINQ 表达式来获取最大值。
Version first = new Version(1, 0, 1);
Version second = new Version(1, 0, 0);
Version third = new Version(2, 1, 0);
Version fourth = new Version(1, 1, 0);
List<Version> versions = new List<Version>() { first, second, third, fourth };
Version maximumVersion = versions.Max(); // returns the 'third' object