我正在上传一个 Excel 文件,并在读取该文件后得到结果。
var data = from c in excel.Worksheet<QuestionMaster>()
select new
{
c.Questionname,
c.Answer1,
c.Answer2,
c.Answer3,
c.Answer4,
c.CorrectAnswer,
};
现在我需要检查上传数据中的任何列都不应该为空
为此我的代码是:
问题大师是模型类
QuestionMaster questions = new QuestionMaster();
QuestionMaster temp = new QuestionMaster();
List<QuestionMaster> ques = new List<QuestionMaster>();//
foreach (var item in data)
{
int i = 0;
if (item.Questionname == null || item.Answer1 == null || item.Answer2 == null || item.Answer3 == null || item.Answer4 == null || item.CorrectAnswer == null)
{
if (item.Questionname != null)
temp.Questionname = item.Questionname.Trim();
else
temp.Questionname = "Question Name not Found in Uploaded Excel File";
if (item.Answer1 != null)
temp.Answer1 = item.Answer1.Trim();
else
temp.Answer1 = "Answer 1 Not Found in Uploaded Excel File";
\\Some more Couple of If-Else Conditions
ques.Add(temp);
}
现在的问题是:
假设我得到三个不同的行,其中它们是一些空列,并且上述条件成立。
当ques.add(temp)第 2 次或第 3 次运行时,它会覆盖其他先前添加的列表项,但列表中添加的项目数保持不变。这意味着它正在用temp
中的当前数据覆盖整个列表。
请告诉我哪里出错了。
提前致谢!!!