Использование интерфейса IComparable для сортировки продуктов, возвращающихся из репозитория - PullRequest
0 голосов
/ 03 июня 2018

Мои вещи возвращаются из хранилища, как это:


Любопытный котенок Lily's Kitchen

Влажная еда

$ 10,00

Игрушка для кошек с павлиньими перьями

Сухой корм

$ 8,96

Eden Country Kitchen Банки с влажным кормом для кошек

Игрушки

$ 2.3

Я попытался реализовать «Интерфейс IComparable» в моей модели под названием «Продукт»:

namespace GloriaPetShop.Models
{
public class Product:IComparable<Product>
{
    public int ProductID { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
    public decimal Price { get; set; }
    public string Category { get; set; }
    public float Weight { get; set; }
    public string Sku { get; set; }

    public int CompareTo(Product other)
    {
        return Name.CompareTo(other.Name);
    }
}
}

, затем на моей странице просмотра, которая называется«List.cshtml» Я преобразовал модель в массив и использовал метод сортировки:

@model IEnumerable<Product>
@{
Array.Sort(Model.ToArray());
}
@foreach (var p in Model.ToArray())
{
<div>
    <h3>@p.Name</h3>
    @p.Category
    <h4>@p.Price.ToString("C")</h4>
</div>
}

, но он по-прежнему не отсортирован в алфавитном порядке:

Eden Country Cuisine Wet Cat FoodБанки

Мокрый корм

$ 10,00

Любопытный котенок Lily's Kitchen

Сухой корм

$ 8,96

Игрушка-кошка с павлиньим пером

Игрушки

$ 2,37

Я знаю, что может быть тысяча способов сделать это, но яМне интересно, как мы можем сделать это с IСравнимый интерфейс?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...