0

我有几个已编译的 dll 文件,其中包含一个简单的类,并且有字符串数组,其中包含带有标记答案的问题和答案。


一个示例问题如下:

以下哪个是符号 C 原子序数为 6 的化学元素?选项:A) 煤 B) 碳 * C) 氯化物 D) 铬

每个大会都有多个关于不同主题的题库,每个题库都有数百个问题。


其目的是从每个问题库的每个集合中生成一个随机生成的问题,具体数量 [比如每个问题库中每个集合的 25 个]。

请参阅下图以获得清晰的想法并建议以相同方式提取问题的最佳方法。

必填 http://www.imagesup.net/dt-13138191632515.png

4

1 回答 1

0

我有一个解决办法。

我正在使用以下代码


public static T Extract<T>(params T[] array) // where params can be any string array
 { 
   int index = new Random().Next(0, array.Length); 
   return (T)array.GetValue(index); 
 }

public static string GetQuestion()
{
  return Extract<String>(new string[] { 
      "Question 1: What is the question 1 answer? (A) it's A (B) it's B * (C) it's C (D) it's D",
      "Question 2: What is the question 2 answer? (A) it's A * (B) it's B (C) it's C (D) it's D",
      "Question 3: What is the question 3 answer? (A) it's A (B) it's B (C) it's C (D) it's D * ",
      "Question 4: What is the question 4 answer? (A) it's A (B) it's B (C) it's C * (D) it's D",
  }));
}

并且使用反射调用这个方法并不是那么困难。

于 2013-10-20T05:06:32.177 回答