如何在不区分大小写c#的情况下检查枚举值中的“包含”?

尼维莎·戈帕拉克里希南(Nivitha Gopalakrishnan)

我需要检查Enum中存在的字符串值或不使用Contains

public enum Days
{
    Monday = 1,
    Tuesday = 2,
    Wednesday = 3,
    Thursday = 4,
    Friday = 5,
    Saturday = 6,
    Sunday = 7
}

public class ResultObj
{
   public int Id { get; set; }
   public string Name { get; set; }
}

var filter = "Wed";
var dayList = Enum.GetValues(typeof(Days))
               .Cast<Days>()
               .Where(x => Enum.IsDefined(typeof(Days), filter))
               .Select(d => new ResultObj
               {
                   Id = (int)d,
                   Name = d.ToString()
               }).ToList();

如果给出“星期三”的意思,我需要一个dayList结果{ Id = 3, Name = Wednesday }

如果给定的过滤器为“星期三”,则我需要一个dayList结果{ Id = 3, Name = Wednesday }

如果给定过滤器为“星期三”,则我需要一个dayList结果{ Id = 3, Name = Wednesday }

如果给定过滤器为“ dnes”,则我需要一个dayList结果{ Id = 3, Name = Wednesday }

如果给定的过滤器为“ xyx”,则dayList计数应为零。

帕维尔·阿尼克豪斯基(Pavel Anikhouski)

您可以Linq稍微重写一下方法链,从值数组中选择一个字符串值,Enum然后检查Enum名称是否包含过滤器(不区分大小写)。然后选择一个ResultObj并将Enum转换

 var filter = "Wed";
 var dayList = Enum.GetValues(typeof(Days))
     .Cast<Days>()
     .Select(x => x.ToString())
     .Where(x => x.Contains(filter, StringComparison.OrdinalIgnoreCase))
     .Select(d => new ResultObj
     {
         Id = (int)Enum.Parse(typeof(Days), d),
         Name = d
     }).ToList();

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在不区分大小写的情况下检查ArrayList是否包含某个String

如何在不区分大小写的情况下按字母顺序排序?

如何在不区分大小写的情况下从ressourceManager获取对象?

如何在不区分大小写的情况下匹配字符串中的子字符串

如何在不区分大小写的情况下在Java中拆分字符串?

如何在不区分大小写的情况下在mongodb中查询字符串?

如何在不区分大小写的情况下不区分大小写进行排序

如何在不区分大小写的情况下使包含子字符串的字符串成为匹配器

如何在不区分大小写和顺序的情况下比较两个NSStrings的NSArrays

如何在不区分大小写的情况下计算grep中短语出现的次数?

Java-8:如何在不区分大小写的情况下使用Map.Entry#comparingByValue对Map(基于值)进行排序?

默认情况下如何使描述函数“ Ch f”不区分大小写

在不区分大小写的情况下,如何使“ ls”首先显示点文件?

在不区分大小写的情况下计算数组中的相似单词

如何在不区分大小写的情况下在熊猫中逐行比较两个数据帧?

在SQL中区分大小写的情况下统计每行中属性值的出现

如何在不区分大小写的情况下过滤数组?

如何在Jackson / Spring Boot中允许枚举的大小写不区分大小写?

C#包含不区分大小写的搜索

==默认情况下在C#Linq中不区分大小写

如何在Swift中检查带有关联值的枚举的枚举大小写

在不区分大小写的情况下搜索时,围绕模式而不更改它

C#中不区分大小写的搜索功能

如何在ef core 2中包含不区分大小写的内容?

如何在不区分大小写的情况下更正正则表达式以查找完全匹配的单词?

为什么默认情况下我的Dictionary <string,string>不区分大小写?

在不区分大小写的情况下按多列对数据框进行排序

如何构造不区分大小写的枚举?

如何在C ++中实现与unicode无关的不区分大小写的比较