【发布时间】:2021-05-10 00:55:18
【问题描述】:
我有一个状态列表,这些状态定义为按从最小值到最大值排序。顺序如下:
取消 - 完成 - 草稿 - 预订 - 保留 - 订购 - 确认
所以取消是最小状态,确认是最大状态。我可能有不同状态的不同实例,所以我使用 for-each 循环遍历所有状态,并选择循环中存在的最小状态。
也就是说:如果在列表中我有状态 [完整、保留、草稿、已订购],我需要检查所有值并选择完整 - 因为它似乎是最小状态。或者 如果我有 [reserved,confirmed,ordered,draft,cancelled,confirmed,confirmed] 我需要选择取消的值,因为它似乎是最小值。
我正在做以下检查,但它似乎不起作用:
string globstatus = " ";
foreach (var currentstatus in list)
{
if (currentstatus == "cancelled")
{
globstatus = "cancelled";
}
else
{
if (globstatus == "cancelled")
{
return globstatus;
}
else
{
if (currentstatus == "complete")
{
globstatus = "complete";
}
else
{
if (globstatus == "complete")
{
return globstatus;
}
else
{
if (currentstatus == "draft")
{
globstatus = "draft";
}
else
{
if (globstatus == "reservation")
{
return globstatus;
}
else
{
if (currentstatus == "reserved")
{
globstatus = "reserved";
}
else
{
if (globstatus == "ordered")
{
return globstatus;
}
else
{
if (currentstatus == "confirmed")
{
globstatus = "confirmed";
}
else
{
return currentstatus;
}
}
}
}
}
}
}
}
}
}
return globstatus;
实现所需行为的最佳解决方案是什么?
【问题讨论】:
-
currststatus?你的意思是currentstatus对吗? -
@SirStopIt 是的,抱歉我打错了。谢谢指正。