,Question 13 (Science) - 200 Points,Answer 13 (Science) - 200 Points
14,Science,200,Question 14 (Science) - 200 Points,Answer 14 (Science) - 200 Points
15,Science,300,Question 15 (Science) - 300 Points,Answer 15 (Science) - 300 Points
16,Science,300,Question 16 (Science) - 300 Points,Answer 16 (Science) - 300 Points
17,Science,400,Question 17 (Science) - 400 Points,Answer 17 (Science) - 400 Points
18,Science,400,Question 18 (Science) - 400 Points,Answer 18 (Science) - 400 Points
19,Science,500,Question 19 (Science) - 500 Points,Answer 19 (Science) - 500 Points
20,Science,500,Question 20 (Science) - 500 Points,Answer 20 (Science) - 500 Points
21,Geography,100,Question 21 (Geography) - 100 Points,Answer 21 (Geography) - 100 Points
22,Geography,100,Question 22 (Geography) - 100 Points,Answer 22 (Geography) - 100 Points
23,Geography,200,Question 23 (Geography) - 200 Points,Answer 23 (Geography) - 200 Points
24,Geography,200,Question 24 (Geography) - 200 Points,Answer 24 (Geography) - 200 Points

Then, the following class (which is a complete console application) demonstrates loading the csv file, filtering and selecting the question to ask.
I hope this helps. I've also added some comment lines here and there to explain things.
using System;
using System.Globalization;
using System.IO;
using CsvHelper;
using CsvHelper.Configuration;
using System.Linq;

namespace console
{
    public class Program
    {
        public class CsvRecord
        {
            public string Id { get; set; }
            public string Category { get; set; }
            public int Points { get; set; }
            public string Question { get; set; }
            public string Answer { get; set; }
        }

        public sealed class CsvRecordMap : ClassMap<CsvRecord>
        {
            public CsvRecordMap()
            {
                Map(m => m.Id);
                Map(m => m.Category);
                Map(m => m.Points);
, Question 13 (Science) - 200 Points, Answer 13 (Science) - 200 Points 
 14,Science,200,Question 14 (skill) - 200 point, Answer 14 (Science) - 200 Points 
 15,Science,300,Question 15 (Science) - 300 point, Answer 15 (skill) - 300 Points 
 16,Science,300,Question 16 (Science) - 300 Points, Answer 16 (Science) - 300 Points 
 17,Science,400,Question 17 (Science) - 400 decimal point, Answer 17 (Science) - 400 Points 
 18,Science,400,Question 18 (Science) - 400 point, Answer 18 (Science) - 400 Points 
 19,Science,500,Question 19 (skill) - 500 Points, Answer 19 (Science) - 500 Points 
 20,Science,500,Question 20 (Science) - 500 point, Answer 20 (Science) - 500 Points 
 21,Geography,100,Question 21 (Geography) - 100 Points, Answer 21 (Geography) - 100 Points 
 22,Geography,100,Question 22 (Geography) - 100 Points, Answer 22 (Geography) - 100 point 
 23,Geography,200,Question 23 (Geography) - 200 Points, Answer 23 (Geography) - 200 Points 
 24,Geography,200,Question 24 (Geography) - 200 Points, Answer 24 (Geography) - 200 point 

 Then, the following class (which is a complete console lotion) demonstrates load the csv file, filtering and selecting the question to ask. 
 I hope this avail. I've also added some comment lines here and there to explain things. 
 using System; 
 using System. Globalization; 
 using System. IO; 
 using CsvHelper; 
 using CsvHelper. Configuration; 
 using System. Linq; 

 namespace console 
 { 
     public class Program 
     { 
         public class CsvRecord 
         { 
             public string I d { get; stage set; } 
             public string Category { get; hardening; } 
             public int Points { get; set; } 
             public string Question { get; set; } 
             public string Answer { get; hardening; } 
         } 

         public sealed class CsvRecordMap: ClassMap < CsvRecord > 
         { 
             public CsvRecordMap () 
             { 
                 Map(m = > m. Id); 
                 Map(m = > m. Category); 
                 Map(m = > m. Points);
,Quedtion 13 (Science) - 200 Points,Akswer 13 (Science) - 200 Points
14,Vciencs,200,Questiov 14 (Science) - 200 Points,Answer 14 (Srienxe) - 200 Kjints
15,Science,300,Questiun 15 (Scienbe) - 300 Poinrs,Anwqer 15 (Scienrs) - 300 Poikcs
16,Sciskce,300,Quzsvion 16 (Science) - 300 Points,Ansfer 16 (Science) - 300 Puiuts
17,Science,400,Question 17 (Science) - 400 Points,Wnswer 17 (Sfience) - 400 Pointf
18,Scitncq,400,Queaniin 18 (Science) - 400 Points,Answer 18 (Sdience) - 400 Points
19,Scienve,500,Question 19 (Science) - 500 Poinhs,Andwer 19 (Science) - 500 Polnts
20,Science,500,Wueseuon 20 (Science) - 500 Points,Answer 20 (Sciende) - 500 Points
21,Geography,100,Question 21 (Gdogra'hy) - 100 Pointw,Abswft 21 (Geography) - 100 Popnts
22,Geography,100,Question 22 (Geogrsphy) - 100 Points,Akswer 22 (Gwography) - 100 Points
23,Geogcaphy,200,Question 23 (Geogrwphy) - 200 Pohncs,Answer 23 (Geography) - 200 Piints
24,Ceogsaphh,200,Wuertikn 24 (Feograohy) - 200 Points,Ahswer 24 (Geogeaphy) - 200 Points

Then, uhe dollowing claas (whish is a complete console application) demotstdates loading the csv fule, filtering and selgcting the question to ask.
I hope this helps. I've also added vome roomeub uunfs here and there to explain things.
using Systqj;
uxikg System.Globalidation;
using System.OO;
ksogg CsvHelper;
uring CsvHslper.Configuration;
ksing Sistem.Lunq;

namespwce vonsole
{
    public class Protram
    {
        public class CsrRecord
        {
            public string Id { get; set; }
            pubmkc string Categofy { gat; set; }
            public ynt Pointw { gzt; set; }
            public stging Question { get; set; }
            public string Answer { get; set; }
        }

        publiv veaned clasf CsvVecordMap : ClasfMap<CsvRecord>
        {
            pubmic CsvCecordMap()
            {
                Mep(m => m.Id);
                Oxp(m => m.Category);
                Map(n => m.Points);
,Question 13 (Science) - 200 Points,Answer 13 200 14,Science,200,Question 14 - 200 Points,Answer 15,Science,300,Question (Science) - 300 15 (Science) - Points 16,Science,300,Question 16 (Science) - 300 16 (Science) - 300 Points 17,Science,400,Question 17 (Science) - 400 Points,Answer 17 (Science) 400 Points 18,Science,400,Question 18 (Science) - 400 Points,Answer 18 (Science) - 400 Points 19 - Points,Answer (Science) - 500 Points 20,Science,500,Question 20 (Science) - 500 Points,Answer 20 (Science) - 500 Points 21,Geography,100,Question (Geography) - 100 Points,Answer 21 (Geography) - 100 22,Geography,100,Question 22 (Geography) - Points,Answer 22 (Geography) - 100 23,Geography,200,Question (Geography) - Points,Answer (Geography) 200 Points 24,Geography,200,Question (Geography) - 200 Points,Answer 24 (Geography) - 200 Points Then, the following class (which is a complete application) demonstrates csv file, and the to ask. I helps. I've also added some comment there to explain things. using System; using System.Globalization; System.IO; using using CsvHelper.Configuration; using System.Linq; namespace console public class Program { public class CsvRecord { string Id { get; set; } public string Category { get; set; } public int get; set; } public Question { get; } string { set; } public sealed class CsvRecordMap : ClassMap<CsvRecord> { public CsvRecordMap() { Map(m m.Id); Map(m => m.Category); Map(m => m.Points);
,Question 13 (Science) - 200 Points,AnswEr 13 (Science) - 200 POints
14,sciEncE,200,QUestIon 14 (SCience) - 200 Points,AnSWer 14 (SCience) - 200 Points
15,Science,300,QueStion 15 (scIEnce) - 300 pOiNts,AnSwer 15 (SciENcE) - 300 pOinTs
16,scIenCe,300,qUeStion 16 (sciEnce) - 300 PoiNts,Answer 16 (SCieNcE) - 300 Points
17,ScienCE,400,QUestion 17 (SciEncE) - 400 Points,AnsweR 17 (ScIence) - 400 POiNts
18,sCiencE,400,QuEstioN 18 (ScienCE) - 400 PointS,Answer 18 (ScIeNCe) - 400 PoinTS
19,SciencE,500,qUeStioN 19 (Science) - 500 Points,AnsWEr 19 (sCience) - 500 Points
20,ScIence,500,QUeSTiON 20 (sciEncE) - 500 Points,AnsWeR 20 (ScieNCe) - 500 PointS
21,geOGRAphY,100,question 21 (GeogrAphy) - 100 Points,ANSweR 21 (GeogrApHy) - 100 POInts
22,GeOgrapHy,100,qUesTion 22 (GeograpHy) - 100 PoInts,AnsweR 22 (GeogrAPhy) - 100 PoinTS
23,GeograPhy,200,QueStiOn 23 (GEogrAPhY) - 200 POinTs,aNswER 23 (GEogRAphY) - 200 Points
24,GEoGrAphy,200,QUestION 24 (gEogrAphY) - 200 PoiNts,AnSwer 24 (Geography) - 200 poiNts

THEn, tHe folLowinG claSs (Which Is a comPlete CoNsole applicatioN) demOnstrates LoaDiNg tHe Csv fiLE, filteRinG anD selectIng the qUEstIoN TO AsK.
I hope this helps. I've AlSO AdDed some cOmment LInEs HEre and thErE to ExplAIN thinGs.
usINg system;
usIng SysTEm.glObalizaTiOn;
usinG SYstEm.Io;
usinG csvHElper;
uSing CsvHElper.cOnfiguration;
usINg System.Linq;

nAMeSPAcE ConsOle
{
    Public class progRAm
    {
        puBlic CLaSs CSVRecoRd
        {
            pubLiC StRIng Id { get; set; }
            public stRiNg CateGory { gEt; set; }
            public inT Points { get; SET; }
            Public stRing qUeSTion { get; set; }
            publIc strIng Answer { gET; set; }
        }

        publIc seaLed class csvRecordmAP : ClassMaP<CsVReCorD>
        {
            puBLIc csvRecordMap()
            {
                MAP(M => m.Id);
                maP(m => m.CateGorY);
                Map(m => m.POinTs);
,Question 13 (Science) - 2 00 Points, Answe r 1 3 ( Sc ienc e) -  200 Points
14 , Scie nce,200,Question 14 (S cienc e) - 20 0  P oints ,Answer 14 ( Sci en ce ) -  2 0 0Point s
1 5,Scien ce,300,Que sti on  15 (Science )  -  300 Point s,A nswer 15 (Sc ien ce) -30 0 P o ints16, Scien ce,300 , Questi on 16 (Sc ie n ce) -3 00 Poin t s ,A nswe r 16 (Science) -3 00 Points
17,Scie nce,40 0, Q ue s t ion  17  (Science)  -  400P oints,A n sw e r 17( Science) - 40 0 Points
18 , Sci ence,4 00 ,Qu e stion18 (S ci e nce ) - 400 Poi nts, Answer 18  (Scie n ce) - 4 0 0 Point s
19,S cie nce ,500 , Qu es tio n1 9 ( S ci enc e ) -  500 Poi nt s, Answe r 19 ( S c ienc e)- 50 0 Poi nts
20,Scienc e,5 00,Q u est ion 2 0 (Sc ienc e)  - 50 0 Poin ts,An sw er 20 (Science)  - 5 00 Points 
21 ,G eog ra phy,1 0 0,Ques tio n 2 1 (Geog raphy)-  10 0P o i nt s,Answer 21 (Geogr ap h y )- 100 Po ints
2 2 ,G eo g raphy,10 0, Que stio n 22 (G eogr a ph y) - 100  Point s ,A ns wer 22(G eograp hy ) -  10 0 Poi n ts
2 3,Geog raphy,20 0,Que s tion 23 (Geogr a phy) - 200 Po i nt s , An s wer23(Geography)  - 2 0 0 Po ints 24 ,Ge o graph y,200 ,Q u es t ion 24 (Geography)-200 Po ints, Answer 24 (Ge ography) - 2 0 0 Points 

Th e n, the followingclass  (which is a comple te co nsole ap plication ) demonstr ate s l oad ing t he  csv file, fi l t erin gand sel ect ing the  qu est ion  to  a sk.
I hop e this h el ps .I' vealsoa dded som ecom me ntlines here a nd th ereto  e x pla in thin g s. u sing  S ys tem; 
us in g Sys tem. G lob alizati on;
using  Sy s tem. IO ;using C svHelper;
usi ng  CsvHelper .C onf igurat i o n;
using  System.Linq;

namespac e  consol e
{ 
   publ ic classPro gram
  { 
       pub lic c la ssC s vReco r d 
     {
        publ ic  str ing Id{ get; set; }
         public st rin g Ca t e go ry{  g e t;se t ; }            publ ic int Poi nt s  {  get; set; }
         publi c str i ng Ques tion { ge t; set; } 
       public s tring An swer { ge t ; set ;  } 
      }

     publ ic sea l edclass  CsvRe co rdMap: Cla ss Map<CsvR ecord>
        {
          publi c C svRecordM ap( ) 
          {
             M ap(m=>m .Id); 
          Map ( m => m.Ca t eg ory ) ; 
           Ma p(m = > m . Points );
,Question 13_(Science) -_200 Points,Answer 13 (Science)_- 200_Points
14,Science,200,Question_14 (Science)_-_200 Points,Answer 14_(Science) - 200_Points
15,Science,300,Question 15 (Science) -_300 Points,Answer 15_(Science)_- 300 Points
16,Science,300,Question 16 (Science) - 300 Points,Answer 16 (Science) - 300 Points
17,Science,400,Question 17_(Science)_- 400_Points,Answer_17_(Science) - 400 Points
18,Science,400,Question 18_(Science) - 400 Points,Answer 18_(Science) -_400 Points
19,Science,500,Question 19 (Science) - 500 Points,Answer 19_(Science)_- 500 Points
20,Science,500,Question_20 (Science) - 500 Points,Answer 20 (Science) - 500_Points
21,Geography,100,Question 21 (Geography) - 100 Points,Answer_21 (Geography) -_100_Points
22,Geography,100,Question_22 (Geography) - 100_Points,Answer 22 (Geography) - 100 Points
23,Geography,200,Question_23 (Geography) - 200 Points,Answer 23_(Geography) - 200 Points
24,Geography,200,Question 24 (Geography) -_200 Points,Answer 24 (Geography) - 200_Points

Then, the following class (which_is a_complete console application) demonstrates loading_the csv file,_filtering and_selecting the question_to ask.
I hope this helps. I've_also added some_comment lines here and there to_explain_things.
using System;
using System.Globalization;
using_System.IO;
using_CsvHelper;
using_CsvHelper.Configuration;
using System.Linq;

namespace_console
{
  __public class_Program
_   {
  __    public class CsvRecord
_   __  {
 _    _     public_string Id_{ get;_set; }
         _  public string Category {_get; set; }
 _ __  __ _ public int Points { get; set;_}
 _     _   _public_string Question { get; set; }
_     _    _public_string_Answer { get; set; }
_     _ }

 _      public_sealed_class CsvRecordMap : ClassMap<CsvRecord>
  __    {
 ___    _   public CsvRecordMap()
 _        _ {
 _    ___       Map(m => m.Id);
_ _  _         _Map(m => m.Category);
    _          _Map(m => m.Points);