在枚举中查找字符串
本文关键字:字符串 查找 枚举 | 更新日期: 2023-09-27 17:57:09
有没有办法在枚举中找到字符串的一部分,如下所示:
Status.Find("InStock");
public enum Status
{
Unknown,
InStock,
InStockReserved,
Taken,
TakenReserved,
Spent,
}
然后获取相应的 int 值。就像在列表的"查找"命令中一样:
list.Find(x => x.Name.Contains("InStock")));
听起来你想要这样的东西:
var integers = Enum.GetValues(typeof(Status))
.Cast<Status>()
.Where(status => status.ToString().Contains("InStock"))
.Select(status => (int) status);
Enum 给出整数返回值。因此,您有两种可能性:
- 仅基于枚举类型变量进行匹配。
例如:
list.Find(x => (x.StockType == Stock.InStock));
定义一个返回相应字符串形式的函数:
字符串到数字字符串(股票股票类型){ if(stockType == Stock.InStock) 返回"库存";
// TODO: define other cases
}