如何检查字符串是否以列表中的某个内容结尾。C#

21

我想获取用户的输入,并检查他们输入的内容是否以某个东西结尾。但这个东西不止一个,它们是存储在列表中的。我可以逐一对比输入是否以列表中的每个字符串结尾,但我只是想检查输入是否以列表中的任何字符串结尾。


1
如果我下面提供的答案对您有用,请将其标记为正确。 - wablab
2个回答

42
如果"endings"是一个包含可能匹配的结尾的List<string>:
if (endings.Any(x => userInput.EndsWith(x)))
{
    // the string ends with something in the list
}

5
如果(endings.Any(userInput.EndsWith))是正确的,也可以用更少的代码实现。 - Scope Creep
2
使用此方法,您可以忽略大小写/使用不变的文化等,这非常有用:endings.Any(x => userInput.EndsWith(x, StringComparison.InvariantCultureIgnoreCase))) - SharpC

2
string[] imageEndsWith = { ".jpeg", ".JPEG", ".png", ".PNG", ".jpg", ".JPG" };
if (imageEndsWith.Any(x => _fileName.EndsWith(x))) {
    //your code goes here
}
else {
}

这段代码的作用是创建一个字符串数组(imageEndsWith),其中包含您想要在另一个字符串(_fileName)末尾查找的任何字符串。

例如,当文件名保存在变量_fileName中时,此代码将查找jpeg、jpg或png格式的图像。


1
虽然这段代码可能回答了问题,但提供解决问题的方式和原因可以提高其长期价值。 - L_J
这段代码的作用是创建一个字符串数组(imageEndsWith),其中包含您想要在另一个字符串(_fileName)末尾查找的任何内容。例如,当文件名在变量_fileName中时,此代码将查找jpeg或png图像。 - Jayant Rajwani

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接