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

Jea*_*agr 3 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
Run Code Online (Sandbox Code Playgroud)

同样,这适用于单个char ...但是我如何检查goodGrades列表中的每个项目?有正则表达式的可能吗?在此先感谢您的帮助.

cor*_*ulu 5

if(goodGrades.Contains(endStr))
{
   //Do something.
}
Run Code Online (Sandbox Code Playgroud)

此外,这也适用于字符.如果你只想比较一个角色,这是一个更好的方法.

//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
}
Run Code Online (Sandbox Code Playgroud)