LunarMind/TestEditor/Question.cs
(开头部分) 7KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace LunarSF.SHomeWorkshop.LunarMind
{
/**
* 由BaseQuestion拆分而成,如果一个Base中只有一个填充项,则会被拆分成一个Question。
* BaseQuestion的Body(题干)中有几个填空项,就应该有几个答案列表。
*
* @author YangZhenyv
*/
public class Question
{
private List<ChoiceItem> choiceItems = new List<ChoiceItem>();
public List<ChoiceItem> ChoiceItems
{
get { return this.choiceItems; }
}
private string answer = string.Empty;
/// <summary>
/// [只读]仅适用于选择题(包括判断题)、填空题。不适用于主观题。
/// </summary>
public string Answer
{
get
{
if (choiceItems.Count <= 0)
{
if (string.IsNullOrEmpty(this.titleString)) return string.Empty;
//填空题
int startBracket = this.titleString.IndexOf("【");
int closeBracket = this.titleString.IndexOf("】");
if (startBracket < 0 || closeBracket < 0 || closeBracket < startBracket) return string.Empty;
return this.titleString.Substring(startBracket, closeBracket - startBracket);
}
return this.answer;
}
}
public Question(string titleString)
{
this.titleString = titleString;
}
/// <summary>
/// [构造方法]生成一道试题。适用于填空题(无答案)、选择题(有答案项、错项,)、判断题(特殊的选择题)。
/// </summary>
/// <param name="titleString">应传入由BaseQuestion.BuildQuestionTitles()方法生成的String[]的某个成员。
/// 它的形式是一行带一个填空的文本。</param>
/// <param name="bodyString">应传入每个试题的原文本的“答案”部分,
/// 每个答案文本片段中应包含一个“答案”及一个或多个“错项”。</param>
public Question(string titleString, string bodyString)
后面还有 147 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明
AI 解读 AI
登录后可用,每次 10 算力,解读结果公开显示在下面。
还没有人解读过这个文件。