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