Сортировка списка list - C# (179274)
Формулировка задачи:
Здравствуйте, знатоки !
Нашел код приведенный ниже на msdn, свою задачу он выполняет - сортирует список по именам XE1, XE2,....XO1, XO2, но мне нужно, чтобы после сортировки списка по именам можно было обратиться к PartId, и он был при этом типа int, а здесь он определен как string, определить его как int, что-то не получается.
Листинг программы
- using System;
- using System.Collections.Generic;
- public class Part : IComparable<Part>, IEquatable<Part>
- {
- public string PartName { get; set; }
- public int PartId { get; set; }
- public override string ToString()
- {
- return PartId.ToString();
- }
- public int CompareTo(Part comparePart)
- {
- // A null value means that this object is greater.
- if (comparePart == null)
- return 1;
- else
- return this.PartId.CompareTo(comparePart.PartId);
- }
- public override int GetHashCode()
- {
- return PartId;
- }
- public bool Equals(Part other)
- {
- if (other == null) return false;
- return (this.PartId.Equals(other.PartId));
- }
- }
- public class Example
- {
- public static void Main()
- {
- // Create a list of parts.
- List<Part> parts = new List<Part>();
- parts.Add(new Part() { PartName = "XE4", PartId = 1434 });
- parts.Add(new Part() { PartName = "XE2", PartId = 1234 });
- parts.Add(new Part() { PartName = "XE3", PartId = 1534 }); ;
- parts.Add(new Part() { PartName = "XO3", PartId = 1634 }); ;
- parts.Add(new Part() { PartName = "XE1", PartId = 1444 });
- parts.Add(new Part() { PartName = "XO2", PartId = 1534 });
- parts.Add(new Part() { PartName = "XO1", PartId = 1434 });
- parts.Sort(delegate(Part x, Part y)
- {
- if (x.PartName == null && y.PartName == null) return 0;
- else if (x.PartName == null) return -1;
- else if (y.PartName == null) return 1;
- else return x.PartName.CompareTo(y.PartName);
- });
- foreach (Part aPart in parts)
- {
- Console.WriteLine(aPart);
- }
- Console.ReadKey();
- }
Решение задачи: «Сортировка списка list»
textual
Листинг программы
- public int PartId { get; set; }
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д