c# - 将结束字符与列表进行比较

标签 c# regex string compare

我正在尝试将字符串的最后一个字符与已知值列表进行比较,如果任何已知值与结束字符匹配,则设置一个标志。我已经想出如何针对一个角色进行操作,但我似乎无法弄清楚如何针对一个列表进行操作。谁能帮忙?到目前为止,这是我的代码:

StringBuilder myGrade = new StringBuilder();

// then I pull some data, calculate some stuff, give a grade, build the string, etc.  The resulting text can vary, but the grade letter will always be last.

var goodGrades = new List<string> { "A", "B", "C" };
string endStr = myGrade.ToString();
endStr = endStr.Substring(Math.Max(0, endStr.Length - 1));
if (endStr == "A")
     //do some stuff for passing grades
else
     //do some other stuff for failing grades

同样,这对单个字符非常有效...但是我将如何检查 goodGrades 列表中的每个项目?有正则表达式的可能性吗?预先感谢您的帮助。

最佳答案

if(goodGrades.Contains(endStr))
{
   //Do something.
}

此外,这也适用于字符。如果您只想比较单个字符,这是一种更好的方法。

//Create a list of chars instead of strings
List<char> goodGrades = new List<char>(){'A', 'B', 'C'};
//Get the last char of your string by index
char endChar = myGrade.ToString()[myGrade.Length - 1];

//See if char is contained in list of chars
if(goodGrades.Contains(endChar))
{
   //Do something
}

关于c# - 将结束字符与列表进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15415427/

相关文章:

c# - 如何在 Excel 中更改线条形状的颜色?

c# - 在 C# 中管理 COM 对象

c# - 将数组从 C# 编码到 C++ 并返回 : PInvokeStackImbalance

正则表达式:如何 "step back"

java - 为什么我的脏话过滤器不起作用?

java - 我希望程序使用许多字符串读取用户输入

java - 从多个命令行参数打印较小的字符串

c# - 需要知道如何创建返回整数值的 DelegateCommand<Type>

javascript - 正则表达式允许以全名形式并以字母开头的任何语言字符

javascript - 如何访问 JavaScript 正则表达式中的匹配组?