LunarMind/TestEditor/BaseQuestion.cs

(开头部分) 12KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace LunarSF.SHomeWorkshop.LunarMind
{
    /**
 * 此类用于表示某道试题。
 *
 * @author YangZhenyv
 */
    public class BaseQuestion
    {
        /**
         * 这是一道选择题的文本,也是最初的原型:
         * <p/>
         * 试题>>【意大利】【资本主义萌芽】产生于【14、15】世纪。
         * <p/>
         *   答案>>意大利   解析>>也可说“西欧”。
         * <p/>
         *   错项>>中国   解析>>中国资本主义萌芽产生于明朝中后期。明朝14世纪才建立。
         * <p/>
         *   答案>>资本主义萌芽   解析>>
         * <p/>
         *   错项>>文艺复兴   解析>>文艺复兴的时间是14~17世纪。从语义上来说应是“开始于”而不是“产生于”。
         * <p/>
         *   答案>>14、15   解析>>
         * <p/>
         *   错项>>14~17   解析>>这是文艺复兴的时间
         * <p/>
         *   错项>>16~18   解析>>这是工场手工业时期。
         * <p/>
         *   错项>>1500年前后   解析>>这是新航路开辟的时间段。
         * <p/>
         * 〓〓〓〓〓〓
         *
         * @param baseQuestionText ,表示一个包含一对或多对括弧的题干,一组或多组答案。
         */
        public static List<Question> BuildQuestionList(string baseQuestionText, bool multiFillBlankQuestions = true)
        {
            List<Question> questions = new List<Question>();

            //处理主观题
            if (baseQuestionText.Contains("<<材料>>"))
            {
                int indexOfQuestion = baseQuestionText.IndexOf("<<问题>>");
                if (indexOfQuestion < 0) return questions;//光材料,没有问题。以后可以考虑做成提纲。现在直接跳过。

                List<string> questionPieces = new List<string>();

                string[] textPieces = baseQuestionText.Split(new string[1] { "\r\n<<材料" }, StringSplitOptions.RemoveEmptyEntries);

                StringBuilder sb = null;

                foreach (var s in textPieces)
                {
                    if (sb == null) sb = new StringBuilder();

                    if (s.StartsWith(">>"))
后面还有 239 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 算力/个。 规则说明

AI 解读 AI

登录后可用,每次 10 算力,解读结果公开显示在下面。

还没有人解读过这个文件。