C# ]versions=extractedStrings.Select(s=>VersionNumber.Parse(s)).ToArray()然后对它们进行排序:var sortedVersions=versions.OrderBy(v=>v)比较方法是什么
C# ]versions=extractedStrings.Select(s=>VersionNumber.Parse(s)).ToArray()然后对它们进行排序:var sortedVersions=versions.OrderBy(v=>v)比较方法是什么,c#,linq,parsing,C#,Linq,Parsing,]versions=extractedStrings.Select(s=>VersionNumber.Parse(s)).ToArray()然后对它们进行排序:var sortedVersions=versions.OrderBy(v=>v)比较方法是什么,您传递的是什么对象?比较方法由。下面是一个用法说明。我还修复了Parse方法 string[] liness = Regex.Split(html, "\r\n"); <html><head><titl
]versions=extractedStrings.Select(s=>VersionNumber.Parse(s)).ToArray()编码>然后对它们进行排序:
var sortedVersions=versions.OrderBy(v=>v)代码>比较方法是什么,您传递的是什么对象?比较方法由。下面是一个用法说明。我还修复了Parse
方法
string[] liness = Regex.Split(html, "\r\n");
<html><head><title>137.55.124.65 - /</title></head><body><H1>137.55.124.65 - /</H1><hr>
Thursday, June 7, 2018 6:27 PM <dir> <A HREF="/2.5.25557/">2.5.25557</A>
Thursday, June 14, 2018 5:25 PM <dir> <A HREF="/2.5.25569/">2.5.25569</A>
Wednesday, June 20, 2018 8:34 AM <dir> <A HREF="/2.5.25578/">2.5.25578</A>
Wednesday, June 20, 2018 5:33 PM <dir> <A HREF="/2.5.25580/">2.5.25580</A>
Tuesday, June 26, 2018 8:36 AM <dir> <A HREF="/2.5.25581/">2.5.25581</A>
Friday, June 29, 2018 8:36 AM <dir> <A HREF="/2.5.25582/">2.5.25582</A>
Tuesday, July 3, 2018 8:35 AM <dir> <A HREF="/2.5.25584/">2.5.25584</A>
Thursday, July 5, 2018 8:35 AM <dir> <A HREF="/2.5.25586/">2.5.25586</A>
Monday, July 16, 2018 8:33 AM <dir> <A HREF="/2.5.25587/">2.5.25587</A>
Tuesday, May 29, 2018 8:30 PM 696 <A HREF="/iisstart.htm">iisstart.htm</A>
Tuesday, May 29, 2018 8:30 PM 98757 <A HREF="/iisstart.png">iisstart.png</A>
Wednesday, November 19, 2014 3:41 PM 214 <A HREF="/index.html">index.html</A>
ex: 2.5.1000 , 2.5 1001. 2.5.1002. 2.5.1003.
List<string> versionvalue = new List<string>();
string pattern = "2.";
foreach (String l_html in liness)
{
string[] substrings = Regex.m(l_html, pattern);
//versionvalue.Add(substrings[]);
if ((l_html.Contains("2.")) && (l_html.Contains(currentYear.ToString()) ))
{
}
}
public class VersionNumber : IComparable {
public int Major { get; set; }
public int Minor { get; set; }
public int Revision { get; set; }
// Converts string to VersionNumber object
public static VersionNumber Parse(string s) {
if (string.IsNullOrWhiteSpace(s)) {
throw new ArgumentNullException(nameof(s));
}
var parts = s.Split(new [] {'.'});
if (parts.Count() != 3) {
throw new ArgumentException("Input string must be in format 'X.Y.ZZZZZ'.");
}
var result = new VersionNumber();
try {
result.Major = int.Parse(parts[0]);
result.Minor = int.Parse(parts[1]);
result.Revision = int.Parse(parts[2]);
}
catch (FormatException) {
throw new ArgumentException("Input string must be in format 'X.Y.ZZZZZ', with X, Y, Z integers.");
}
return result;
}
// Compares two VersionNumbers
public int CompareTo(object obj) {
if (obj == null) return 1;
VersionNumber otherVersion = obj as VersionNumber;
if (otherVersion == null) {
throw new ArgumentException($"Object is not a {nameof(VersionNumber)}.");
}
// start comparison with Major Version, then Minor, then Revision
var result = Major.CompareTo(otherVersion.Major);
if (result == 0) {
result = Minor.CompareTo(otherVersion.Minor);
}
if (result == 0) {
result = Revision.CompareTo(otherVersion.Revision);
}
return result;
}
public override string ToString() {
return Major + "." + Minor + "." + Revision;
}
}
string[] versionStrings = new [] {"3.5.25569", "2.5.25557", "2.5.25580", "2.5.25569", "2.4.25569"};
// parsing
IEnumerable<VersionNumber> versions = versionStrings.Select(s => VersionNumber.Parse(s));
// sorting
IOrderedEnumerable<VersionNumber> sorted = versions.OrderBy(v => v);
// sorted: 2.4.25569, 2.5.25557, 2.5.25569, 2.5.25580, 3.5.25569