fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.IO;
  4. using System.Linq;
  5.  
  6. namespace reactive_test
  7. {
  8. class Program
  9. {
  10. public static void Main()
  11. {
  12.  
  13. List<string> val1 = new List<string> {
  14. "File_1.txt","File_2.txt","File_1_Over.txt","File_2_Item.txt","File_1_Over.bat",
  15. "File_1_Over_test.bat","File_2_Standard.bat","File_2_Item_Standard.bat"
  16. };
  17.  
  18. //val1.Sort(( x, y ) => string.Compare( Path.GetExtension(y), Path.GetExtension(x) ));
  19. var val = val1
  20. .GroupBy(f => Path.GetFileNameWithoutExtension(f))
  21. .OrderBy(group => group.Key);
  22.  
  23. foreach (var group in val)
  24. {
  25. var q = group.OrderByDescending(f => Path.GetExtension(f));
  26. foreach (var f in q)
  27. {
  28. Console.WriteLine(f);
  29. }
  30. }
  31.  
  32. }
  33. }
  34. }
  35.  
Success #stdin #stdout 0.05s 37320KB
stdin
Standard input is empty
stdout
File_1.txt
File_1_Over.txt
File_1_Over.bat
File_1_Over_test.bat
File_2.txt
File_2_Item.txt
File_2_Item_Standard.bat
File_2_Standard.bat