首页 > 解决方案 > 从枚举中查找字符串

问题描述

我尝试了以下建议,但没有任何效果,并且我编辑了代码以使其更容易。这段代码的目的是根据枚举获取数据的行。

例如:如果我为搜索提供值“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();
}

注意:搜索是字符串输入。

标签: c#asp.net-mvc

解决方案


将您的枚举转换为字符串:

 Location.ToString();    //output = A

但这会将您的 Enum 转换为包含所有成员的字符串:

string[] locs= Enum.GetNames(typeof(LocationType ));

可以在您的查询中使用。


推荐阅读