Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ]versions=extractedStrings.Select(s=>VersionNumber.Parse(s)).ToArray()然后对它们进行排序:var sortedVersions=versions.OrderBy(v=>v)比较方法是什么_C#_Linq_Parsing - Fatal编程技术网

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        &lt;dir&gt; <A HREF="/2.5.25557/">2.5.25557</A>
      Thursday, June 14, 2018  5:25 PM        &lt;dir&gt; <A HREF="/2.5.25569/">2.5.25569</A>
     Wednesday, June 20, 2018  8:34 AM        &lt;dir&gt; <A HREF="/2.5.25578/">2.5.25578</A>
     Wednesday, June 20, 2018  5:33 PM        &lt;dir&gt; <A HREF="/2.5.25580/">2.5.25580</A>
       Tuesday, June 26, 2018  8:36 AM        &lt;dir&gt; <A HREF="/2.5.25581/">2.5.25581</A>
        Friday, June 29, 2018  8:36 AM        &lt;dir&gt; <A HREF="/2.5.25582/">2.5.25582</A>
        Tuesday, July 3, 2018  8:35 AM        &lt;dir&gt; <A HREF="/2.5.25584/">2.5.25584</A>
       Thursday, July 5, 2018  8:35 AM        &lt;dir&gt; <A HREF="/2.5.25586/">2.5.25586</A>
        Monday, July 16, 2018  8:33 AM        &lt;dir&gt; <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