排序不适用于 C# 中的自定义数据类型(货币类别)

问题描述 投票:0回答:1

大家好,我有一个字段“价格”,它具有自定义数据类型,即代表一种货币的类,该类具有“货币符号”、“货币代码”和“货币值”等属性。我想按价格对价格进行排序。有人可以帮我吗?

public class Currency 
    {
        public decimal Value { get; set; }
        public string Symbol { get; set; }
        public string Code { get; set; }
    }
var rows = dataTable.Select(filters, "Price Asc");

我读了很多文章但没有得到确切的解决方案。

c# asp.net .net sorting
1个回答
0
投票

您可以使用

LINQ
根据
Currency
属性对行进行排序。假设您的
DataTable
有一个名为
Price
且具有自定义数据类型
Currency
的列。

var sortedRows = dataTable.AsEnumerable()
    .OrderBy(row => ((Currency)row["Price"]).Value)
    .CopyToDataTable();

看到这个.NET Fiddle

© www.soinside.com 2019 - 2024. All rights reserved.