fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. public class Test
  6. {
  7. class CharactersDie {
  8. public int characterReads;
  9. public string name;
  10.  
  11. public CharactersDie(int characterReads, string name) {
  12. this.characterReads = characterReads;
  13. this.name = name;
  14. }
  15. }
  16.  
  17. public static void Main()
  18. {
  19. /*********** Эмуляция данных ************************/
  20. List<CharactersDie> charactersDie = new List<CharactersDie>() {
  21. new CharactersDie(0, "name_0"), new CharactersDie(1, "name_1"), new CharactersDie(0, "name_2"), new CharactersDie(1, "name_3"), new CharactersDie(0, "name_4"),
  22. new CharactersDie(1, "name_5"), new CharactersDie(0, "name_6"), new CharactersDie(1, "name_7"), new CharactersDie(1, "name_8"), new CharactersDie(0, "name_9"),
  23. new CharactersDie(1, "name_10"), new CharactersDie(0, "name_11"), new CharactersDie(1, "name_12"), new CharactersDie(1, "name_13"), new CharactersDie(0, "name_14")
  24. };
  25. /*********************************************************/
  26.  
  27.  
  28. /***** Логика *****/
  29. var filteredData = charactersDie.Where(item => item.characterReads == 1).ToList();
  30. var numbers = Enumerable.Range(0, filteredData.Count).OrderBy(n => n * n * (new Random()).Next()).Take(3);
  31.  
  32. // Инстанциировать рандомные объекты
  33. foreach (var number in numbers) {
  34. Console.Write(filteredData[number].name + ", ");
  35. // Instantiate(filteredData[number]);
  36. }
  37. }
  38. }
Success #stdin #stdout 0.07s 24224KB
stdin
Standard input is empty
stdout
name_7, name_13, name_1,