c# - 从枚举中查找字符串
问题描述
我尝试了以下建议,但没有任何效果,并且我编辑了代码以使其更容易。这段代码的目的是根据枚举获取数据的行。
例如:如果我为搜索提供值“bra”,那么想要的结果应该是来自枚举的巴西,但由于枚举是一个 int,那么就像我说如果我们假设巴西 = 选择位置 = 3 的数据一样3 在枚举中。
public LocationType Location { get; set; }
public enum LocationType
{
brazil,
USA,
UK
}
public async Task<IActionResult> Index(string id, [FromForm] string search)
if (!string.IsNullOrWhiteSpace(search))
{
result = applicationDbContext.Where(x => x.Location.ToString().Contains(search)).ToList();
}
注意:搜索是字符串输入。
解决方案
将您的枚举转换为字符串:
Location.ToString(); //output = A
但这会将您的 Enum 转换为包含所有成员的字符串:
string[] locs= Enum.GetNames(typeof(LocationType ));
可以在您的查询中使用。
推荐阅读
- macos - Heroku CLI 不会安装在新的 macOS Catalina 10.15.1 上
- c - 函数和宏的区别
- arrays - Redim Preserve 内的 UBound 引发“下标超出范围”
- azure - Azure:使用存储帐户的自定义映射
- azure - Microsoft AD 的 2FA,禁用旧设备身份验证器
- json - 如何让 PureConfig 将 JSON 反序列化为 JValue 字段?
- java - 无法使用spring boot在mongo查询中将$嵌套在带有十进制数的$ in下
- python - 选择与新“未成熟”曲线的斜率最匹配的“成熟”曲线
- python - 我无法写入文件
- php - 如何从json值中删除单引号