Сортировка списка 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; }

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


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

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

14   голосов , оценка 4.071 из 5
Похожие ответы