.net考试系统 多选题中学生答案与正确答案作对比

case "不定项选择类":
strUserAnswer=strUserAnswer.Trim().Replace(",","");
strUserAnswer=strUserAnswer.Trim().Replace(" ","");
if (strUserAnswer.ToUpper() == SqlDSTest.Tables["xinUserAnswer"].Rows[i]["StandardAnswer"].ToString().Replace(" ", "").ToUpper())
{

                                    dblUserScore = Convert.ToDouble(SqlDSTest.Tables["xinUserAnswer"].Rows[i]["TestMark"]);
                                    dblImpScore = dblImpScore + dblUserScore;
                            }
                            else
                            {
                                string strAnswer = SqlDSTest.Tables["xinUserAnswer"].Rows[i]["StandardAnswer"].ToString().Replace(" ", "").ToUpper();
                                string strStuAnswer = strUserAnswer.ToUpper();
                                string[] stuAnswer = strStuAnswer.Split(',');
                                bool isRight = true;
                                foreach (string a in stuAnswer)//遍历学生选的每个选项
                                {
                                    isRight &= Regex.IsMatch(strAnswer, a);//与正确答案做比较,有一个答案不对isRight将置为false
                                }
                                if (isRight)
                                {
                                    dblUserScore = Convert.ToDouble(SqlDSTest.Tables["xinUserAnswer"].Rows[i]["TestMark1"]);
                                    dblImpScore = dblImpScore + dblUserScore;

                                }
                            }



                                                            如果这样写比如正确答案是ABCDE的时候
                                                            学生选择ABC是对的有对应分数,
                                                            但是选择ABD就错了,求大神帮忙更正

用户输入的格式是什么,数据库里答案的格式是什么?
直接split分割,用SequenceEqual判断下