C#语法糖类似于SQL的IN比较?
发布时间:2020-12-16 00:20:44 所属栏目:百科 来源:网络整理
导读:我经常发现自己写的条件类似于以下内容: if(Path.GetExtension(filename) == ".pdf" || Path.GetExtension(filename)== ".doc"){ // do something} 每个我想测试的文件扩展名调用Path.GetExtension()一次似乎有点多余.当然,我可以这样做: string fileExten
我经常发现自己写的条件类似于以下内容:
if(Path.GetExtension(filename) == ".pdf" || Path.GetExtension(filename)== ".doc") { // do something } 每个我想测试的文件扩展名调用Path.GetExtension()一次似乎有点多余.当然,我可以这样做: string fileExtension = Path.GetExtension(filename); if(fileExtension == ".pdf" || fileExtension == ".doc") { // do something } 但考虑到我只使用fileExtension进行比较而没有别的,声明文件扩展名的变量似乎并不优雅. 在SQL中,我可以使用IN运算符: SELECT file FROM table WHERE fileExtension IN(".pdf",".doc") 这让我可以毫不重复地进行测试. C#是否提供类似于SQL的语法糖,我不必重复被比较的变量或相等运算符? 解决方法
只需创建一个新的内联数组并调用Contains:
if((new[]{ ".pdf",".doc"}).Contains(fileExtension)) { // Do Something } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |