Сортировка списка list - C# (179274)

Узнай цену своей работы

Формулировка задачи:

Здравствуйте, знатоки ! Нашел код приведенный ниже на msdn, свою задачу он выполняет - сортирует список по именам XE1, XE2,....XO1, XO2, но мне нужно, чтобы после сортировки списка по именам можно было обратиться к PartId, и он был при этом типа int, а здесь он определен как string, определить его как int, что-то не получается.
Листинг программы
  1. using System;
  2. using System.Collections.Generic;
  3. public class Part : IComparable<Part>, IEquatable<Part>
  4. {
  5. public string PartName { get; set; }
  6. public int PartId { get; set; }
  7. public override string ToString()
  8. {
  9. return PartId.ToString();
  10. }
  11.  
  12. public int CompareTo(Part comparePart)
  13. {
  14. // A null value means that this object is greater.
  15. if (comparePart == null)
  16. return 1;
  17. else
  18. return this.PartId.CompareTo(comparePart.PartId);
  19. }
  20. public override int GetHashCode()
  21. {
  22. return PartId;
  23. }
  24. public bool Equals(Part other)
  25. {
  26. if (other == null) return false;
  27. return (this.PartId.Equals(other.PartId));
  28. }
  29. }
  30. public class Example
  31. {
  32. public static void Main()
  33. {
  34. // Create a list of parts.
  35. List<Part> parts = new List<Part>();
  36.  
  37. parts.Add(new Part() { PartName = "XE4", PartId = 1434 });
  38. parts.Add(new Part() { PartName = "XE2", PartId = 1234 });
  39. parts.Add(new Part() { PartName = "XE3", PartId = 1534 }); ;
  40. parts.Add(new Part() { PartName = "XO3", PartId = 1634 }); ;
  41. parts.Add(new Part() { PartName = "XE1", PartId = 1444 });
  42. parts.Add(new Part() { PartName = "XO2", PartId = 1534 });
  43. parts.Add(new Part() { PartName = "XO1", PartId = 1434 });
  44.  
  45. parts.Sort(delegate(Part x, Part y)
  46. {
  47. if (x.PartName == null && y.PartName == null) return 0;
  48. else if (x.PartName == null) return -1;
  49. else if (y.PartName == null) return 1;
  50. else return x.PartName.CompareTo(y.PartName);
  51. });
  52.  
  53. foreach (Part aPart in parts)
  54. {
  55. Console.WriteLine(aPart);
  56. }
  57.  
  58. Console.ReadKey();
  59. }

Решение задачи: «Сортировка списка list»

textual
Листинг программы
  1. public int PartId { get; set; }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

14   голосов , оценка 4.071 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы