title: C# - How to sort list string number by linq?
body: <p>I have a list, each element in the list is a string that contains date and integer in specific format: yyyyMMdd_number.</p>
  
  <pre><code>List&lt;string&gt; listStr = new List&lt;string&gt; { "20170822_10", "20170821_1", "20170823_4", "20170821_10", "20170822_11", "20170822_5",
                                            "20170822_2", "20170821_3", "20170823_6", "20170823_21", "20170823_20", "20170823_2"};
  </code></pre>
  
  <p>When use method <code>listStr.Sort();</code></p>
  
  <p>Result as below:</p>
  
  <pre>20170821_1
  20170821_10
  20170821_3
  20170822_10
  20170822_11
  20170822_2
  20170822_5
  20170823_2
  20170823_20
  20170823_21
  20170823_4
  20170823_6</pre>
  
  <p><strong>Expected Output:</strong></p>
  
  <pre>20170821_1
  20170821_3
  20170821_10
  20170822_2
  20170822_5
  20170822_10
  20170822_11
  20170823_2
  20170823_4
  20170823_6
  20170823_20
  20170823_21</pre>
  
  <p>The way: i think every string(day_number) will split with an underline, then compare and sort by number.
  But please suggest me LINQ solution or better way to sort in this case.</p>