如何将十进制字符串转换为列表并将项目标记为max和min

eya*_*alb 0 c# arrays

我有这个字符串"1.2,3,4.6,7,8,23",我需要将其转换为列表并找到列表中的最小和最大对象.

我试过了

List<decimal> prices = item.arrKFD_Price.Split(',').Select(n => decimal.Parse(n)).ToList();
Run Code Online (Sandbox Code Playgroud)

我现在有一个小数列表,我可以通过使用获得最大或最小

prices.Max() or prices.Min()
Run Code Online (Sandbox Code Playgroud)

我需要循环中的数据

foreach (var price in prices)
{
    sb.Append("<td>" + price + "</td>");//need to set color for max and min
}
Run Code Online (Sandbox Code Playgroud)

我试图创建一个对象列表

class myPrice{
    public decimal price{ get;set;}
    public bool IsMax{ get;set;}
    public bool IsMin{ get;set;}
}
Run Code Online (Sandbox Code Playgroud)

然后在拆分中使用它

List<myPrice> prices = item.arrKFD_Price.Split(',').Select(n => decimal.Parse(n)).ToList();`
Run Code Online (Sandbox Code Playgroud)

然后可以标记对象并在循环中使用它

DrK*_*och 6

只需记住min和max:

double max = prices.Max();
double min = prices.Min();
Run Code Online (Sandbox Code Playgroud)

然后在循环中使用此信息:

foreach (var price in prices)
{
    if(price == min) ...  // use color for min
    else if price == max) ... // use color for max
    else ... // use normal color
    ...
}
Run Code Online (Sandbox Code Playgroud)