按参考C#对列表进行排序 - c#

我有一个List<Unit>,其中Unit包含NameValue。在此对象中,我存储有关服装尺码的信息,Name包含尺码名称(S,M,L,XL ..),而Value包含该尺码的数量。

这个单元列表是从数据库中包含的,但是列表是随机排列的,因此在列表中,它可能是这样的:

Unit(M,3)
Unit(S,1)
Unit(XXL,2)
Unit(L,2)

我想对列表进行排序,使其变得更像这样:

Unit(S,1)
Unit(M,3)
Unit(L,2)
Unit(XXLL,2)

我无法订购字符串ASCEDESC,因为它MS之前,依此类推。
然后,我想我可以创建一个具有正确顺序(XXS,XS,S,M,L,XL,XXL,XXXL)的引用数组,但是如何根据引用对列表进行排序。

还是有其他聪明的方法可以做到这一点?

更新资料

感谢所有好的回答,我找到了Enum解决方案,它最终看起来像这样:

public class Unit
{
    public Unit()
    {
    }

    public Unit(string name, int value)
    {
        Value = value;
        SizeCode = AssignSizeCode(name);
    }

    public SizeCode SizeCode { get; set; }
    public int Value { get; set; }

    private SizeCode AssignSizeCode(string name)
    {
        switch (name)
        {
            case "XXS":
                return SizeCode.XXS;
            case "XS":
                return SizeCode.XS;
            case "S":
                return SizeCode.S;
            case "M":
                return SizeCode.M;
            case "L":
                return SizeCode.L;
            case "XL":
                return SizeCode.XL;
            case "XXL":
                return SizeCode.XXL;
            case "XXXL":
                return SizeCode.XXXL;
            default:
                return SizeCode.Unknown;
        }
    }

}

public enum SizeCode
{
    XXS = 1,
    XS = 2,
    S = 3,
    M = 4,
    L = 5,
    XL = 6,
    XXL = 7,
    XXXL = 8,
    Unknown = 9
}

我这样排序:

units = units.OrderBy(x => (int)x.SizeCode).ToList();

有什么意见或需要改进的地方吗?

参考方案

如何使用枚举

public enum Size
    {
        Small = 1,
        Medium = 2,
        // etc 

    }

然后,您可以将Unit类中的枚举值转换为int并按整数值排序。

当回复有时是一个对象有时是一个数组时,如何在使用改造时解析JSON回复? - java

我正在使用Retrofit来获取JSON答复。这是我实施的一部分-@GET("/api/report/list") Observable<Bills> listBill(@Query("employee_id") String employeeID); 而条例草案类是-public static class…

Mongo汇总 - javascript

我的收藏中有以下文件{ "_id": ObjectId("54490b8104f7142f22ecc97f"), "title": "Sample1", "slug": "samplenews", "cat": …

jQuery DataTable TableTool在IE和Firefox中不起作用 - c#

我在MVC4 ASP.NET Web应用程序中使用Jquery DataTable TableTool。导出到Excel和PDF可以与Chrome完美配合。但是不能在IE和FireFox中使用。我的代码如下 dom: 'T<"clear">lfrtip', tableTools: { "sSwfP…

如何通过Ajax将数据发送到不同的元素? - php

script.js $(document).on("click", ".send", function (event) { $.ajax({ url: "update.php", data: { id: id, }, type: "POST", success: function…

提交表单后显示模式对话框 - php

提交下载文件后,我有一张表格。我要自动而不是自动下载文件..以显示模态对话框并显示下载链接。<form name="softwareform" id="softwareform" action="../downloadlink.php" method="POST" alig…