如何检查条件语句中的字符串值列表

时间:2016-02-11 21:01:50

标签: c# list

我试图在条件中检查字符串列表的值,而不是为每个或计数器循环创建一个字符串。

例如

string extention = Path.GetExtension(attachment.Name).ToLower();

List<string> validExtentions = new List<string>() { ".tif", ".tiff", ".gif", ".jpeg", ".jif", ".png", ".pdf", ".txt", ".jpg" };

if(extention.Contains(validExtentions))
{

}

我以为我可以使用.contains函数,该函数期望字符串不是字符串列表,因此它不起作用。

2 个答案:

答案 0 :(得分:3)

您只需要翻转变量即可。您检查extension列表中是否包含validExtensions

if(validExtensions.Contains(extension))
{

}

答案 1 :(得分:0)

这个怎么样....

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Text.RegularExpressions;

namespace EasyE
{
class Program
{
    static void Main(string[] args)
    {
        // Test strings
        List<extention> extentions = new List<extention>() { 
            new extention { FileName = "File1.jif" }, 
            new extention() { FileName = "File2.TIFF" },
            new extention() { FileName = "File3.txt" } };
        ///////////////

        Regex regex = new Regex(@"^.*\.(tif|tiff|gif|jpeg|jif)$",RegexOptions.IgnoreCase);
        if ((from ext in extentions where (ext.FileName.ToString() == regex.Match(ext.FileName.ToString()).Value) select ext).Count() > 0)
        {

        }
    }
}

class extention
{
    public string FileName { get; set; }
}
}