Avatar billede giendr Nybegynder
22. januar 2007 - 09:22 Der er 50 kommentarer

Array i C#

Jeg får følgende fejl på kodestumpen return sp[r.Next(sp.Length)]; Hvad skal ændres?

    class Question
    {
        string q ;
        static Question[] sp;

        public Question()
        {
        }

        public Question(string q)
        {
            this.q = q;
            sp = new Question[3];
        }

        public static void InitializeArray()
        {
            sp[0] =new Question("Hvad hedder hovedstaden i Ungarn?");
            sp[1] = new Question("Hvem vandt Tour de France i 2006?");
            sp[2] = new Question("Hvilken planet er tættest på solen?");
        }

        static Random r = new Random();

        public Question DrawRandom()
        {
          return sp[r.Next(sp.Length)];
        }


        public void HentSpørgsmål()
        {
          Question sp = DrawRandom();
          Console.WriteLine(sp);
        }
    }


public partial class Form1 : Form
    {
        Question question;

        public Form1()
        {
            question = new Question();
            InitializeComponent();
            question.HentSpørgsmål();
        }
    }
Avatar billede giendr Nybegynder
22. januar 2007 - 09:23 #1
Sorry glemte at skrive hvilken fejl jeg fik - "Object reference not set to an instance of an object."
Avatar billede kalp Novice
22. januar 2007 - 09:24 #2
Console.WriteLine(sp.ToString());

og virker det ikke må du lave din egen tostring metode.
Avatar billede kalp Novice
22. januar 2007 - 09:25 #3
ahh okay
Avatar billede kalp Novice
22. januar 2007 - 09:26 #4
okay.. det er fordi din random funktion kommer med et tal som er uden for længden af dit array
Avatar billede kalp Novice
22. januar 2007 - 09:28 #5
prøv med

  public Question DrawRandom()
        {
int RandomNumber = RandomClass.Next(0,3);
          return sp[RandomNumber];
        }
Avatar billede kalp Novice
22. januar 2007 - 09:29 #6
int RandomNumber = RandomClass.Next(3);

er sikkert også fint
Avatar billede giendr Nybegynder
22. januar 2007 - 09:30 #7
Hvordan kan den det, sp er jo defineret som sp.Length()? hvad gør man så ved det?
Avatar billede kalp Novice
22. januar 2007 - 09:33 #8
int RandomNumber = RandomClass.Next(sp.Length());
Avatar billede kalp Novice
22. januar 2007 - 09:33 #9
du kan jo godt selv se at det er nødvendigt at du sætter en grænse for hvor stort et random number må være;o)
Avatar billede giendr Nybegynder
22. januar 2007 - 09:37 #10
Responsen er at "RandomClass" ikke eksistere i denne context. skal jeg importere noget á la using System.????
Avatar billede kalp Novice
22. januar 2007 - 09:39 #11
nej nej.. det er bare en

Random RandomClass  = new Random();

hehe
Avatar billede giendr Nybegynder
22. januar 2007 - 09:45 #12
Jeg får stadig denne kommentar "Object reference not set to an instance of an object." på koden: int RandomNumber = RandomClass.Next(sp.Length);

        public Question DrawRandom()
          {
                Random RandomClass  = new Random();
                int RandomNumber = RandomClass.Next(sp.Length);
                return sp[RandomNumber];
            }
Avatar billede -mundi- Nybegynder
22. januar 2007 - 09:45 #13
sp.Length()-1
hvis der er 3 elementer i, returnerer Length 3, og da arrayet er 0 index baseret, vil et 3 tal giv fejl
Avatar billede kalp Novice
22. januar 2007 - 09:46 #14
det er rigtigt ja
Avatar billede giendr Nybegynder
22. januar 2007 - 09:52 #15
Når jeg skriver sp.Length()-1 er kommentaren: Method name expected. Den reagerer på: ()

hvis jeg skriver sp.Length giver den ingen fejl (altså lige på sp.Length)
Avatar billede kalp Novice
22. januar 2007 - 09:54 #16
det er vidst bare

sp.Length - 1

og ikke

sp.Length() - 1
Avatar billede -mundi- Nybegynder
22. januar 2007 - 09:54 #17
det er også mig som ikke er vågnet endnu :-) Length er en property og ikke en metode :-) Så det skal være uden ()
Avatar billede giendr Nybegynder
22. januar 2007 - 10:04 #18
Jeg har selvfølgelig prøvet med sp.Length-1, men det giver følgende kommentar (igen): Object reference not set to an instance of an object.
Avatar billede kalp Novice
22. januar 2007 - 10:06 #19
prøv lige at udskrive RandomClass

altså det generede nummer..
Avatar billede giendr Nybegynder
22. januar 2007 - 10:55 #20
Udskriften blev : Hejsa1160648826

på koden:

        public Question DrawRandom()
          {
                Random RandomClass  = new Random();
              //  int RandomNumber = RandomClass.Next(sp.Length-1);
                int RandomNumber = RandomClass.Next();
                Console.WriteLine("Hejsa" + RandomNumber);
                return sp[RandomNumber];
            }

Men stadig med kommentaren: Object reference not set to an instance of an object.Men nu på koden: return sp[RandomNumber];
Avatar billede kalp Novice
22. januar 2007 - 10:57 #21
det kan jeg ikke bruge til noget... du udkommenterede denne linje
  //  int RandomNumber = RandomClass.Next(sp.Length-1);

det er den nedenunder du skal udkommentere.
Avatar billede giendr Nybegynder
22. januar 2007 - 11:04 #22
Det prøvede jeg først, men den kommer ikke længere ind til : int RandomNumber = RandomClass.Next(sp.Length-1);

med kommentaren: Object reference not set to an instance of an object.

så den skriver ikke noget ud.

Det er som om objektet er null. Er det fordi det ikke er nok at skrive.

    string q ;
            static Question[] sp;

            public Question()
            {
            }

            public Question(string q)
            {
                this.q = q;
                sp = new Question[3];
            }

            public static void InitializeArray()
            {
                sp[0] =new Question("Hvad hedder hovedstaden i Ungarn?");
                sp[1] = new Question("Hvem vandt Tour de France i 2006?");
                sp[2] = new Question("Hvilken planet er tættest på solen?");
            }
Avatar billede -mundi- Nybegynder
22. januar 2007 - 11:10 #23
Den kender tilsyneladende ikke til "sp" i din DrawRandom funktion, jeg ville sende det med som parameter til din funktion
Avatar billede kalp Novice
22. januar 2007 - 11:15 #24
tjah.. kan kun se det må være denne metode

  public void HentSpørgsmål()
        {
          Question sp = DrawRandom();
          Console.WriteLine(sp);
        }

for den returnere jo ikke ligefrem et spørgsmål;o)
Avatar billede kalp Novice
22. januar 2007 - 11:16 #25
ahh... vent ... bare mig hehe

kan vi ikke se den samlede kode? som den er nu
Avatar billede kalp Novice
22. januar 2007 - 11:19 #26
jeg kan ikke 100% se sammenhængen, men lav da lige denne static..

    string q ;
Avatar billede giendr Nybegynder
22. januar 2007 - 11:35 #27
class Question
        {
            string q ;
            static Question[] sp;

            public Question()
            {
            }

            public Question(string q)
            {
                this.q = q;
                sp = new Question[3];
            }

            public static void InitializeArray()
            {
                sp[0] =new Question("Hvad hedder hovedstaden i Ungarn?");
                sp[1] = new Question("Hvem vandt Tour de France i 2006?");
                sp[2] = new Question("Hvilken planet er tættest på solen?");
            }

        //  static Random r = new Random();

         
                public Question DrawRandom()
          {
                Random RandomClass  = new Random();
              int RandomNumber = RandomClass.Next(sp.Length-1);
            //  int RandomNumber = RandomClass.Next(3);
            Console.WriteLine("Hejsa" + RandomNumber);
                return sp[RandomNumber];
            }


            public void HentSpørgsmål()
            {
              Question sp = DrawRandom();
              Console.WriteLine(sp);

            }
        }


public partial class Form1 : Form
    {
        Question question;

        public Form1()
        {
            question = new Question();
            InitializeComponent();
            question.DrawRandom();
        //  question.HentSpørgsmål();
        }
    }
Avatar billede kalp Novice
22. januar 2007 - 11:56 #28
dumt spørgsmål men har kaldt denne metode!!
InitializeArray()
Avatar billede kalp Novice
22. januar 2007 - 11:57 #29
det kunne være er total god ide hvis du gjorde ;o)
Avatar billede giendr Nybegynder
22. januar 2007 - 12:18 #30
Ikke dårlig ide :-) Jeg har prøvet at lade både  public Question DrawRandom()
og  public void HentSpørgsmål() kalde public static void InitializeArray(), men det får jeg ikke noget ud af der er stadig en null ref. til return sp[RandomNumber]; Er det ikke forkert at InitializeArray() ikke har en returværdi, for hvis man kalder InitializeArray(), opretter den blot spørgsmålene, men bliver de gemt?? Hvis de automatisk blev lagt ind i sp, så skulle det jo virke??
Avatar billede kalp Novice
22. januar 2007 - 12:35 #31
du har også blandet tingene godt sammen.. f.eks kalder du

question = new Question();

denne kalder jo konstruktøren som er tom.. og i den oprettet du jo ikke dit array.

  public Question()
            {
sp = new Question[3];
            }
Avatar billede md_craig Nybegynder
22. januar 2007 - 15:28 #32
public Question(string q)
        {
            this.q = q;
        }

        public static void InitializeArray()
        {
            sp = new Question[3];
            sp[0] =new Question("Hvad hedder hovedstaden i Ungarn?");
            sp[1] = new Question("Hvem vandt Tour de France i 2006?");
            sp[2] = new Question("Hvilken planet er tættest på solen?");
        }
Avatar billede giendr Nybegynder
22. januar 2007 - 15:52 #33
Hvad får man ud af at kalde InitializeArray()? Man får jo ikke noget retur fra metoden, og problemet er, at man kan ikke få fat i nogle af spørgsmålene.

Lige nu ser koden sådan her ud. Den kan kompilere men der kommer ikke noget output:

  class Question
        {
            string q ;
            static Question[] sp;

            public Question(string q)
            {
                this.q = q;
            }

public static void InitializeArray()
            {
                sp = new Question[3];
                sp[0] = new Question("Hvad hedder hovedstaden i Ungarn?");
                sp[1] = new Question("Hvem vandt Tour de France i 2006?");
                sp[2] = new Question("Hvilken planet er tættest på solen?");

 
            }

                public Question DrawRandom()
          {
                Random RandomClass  = new Random();
                int RandomNumber = RandomClass.Next(3);
                InitializeArray();
                Question sp1 =  sp[RandomNumber];
                return sp1;
            }


            public void HentSpørgsmål()
            {
                Question sp = DrawRandom();
                Console.WriteLine(sp);
            }
        }



{
  Question question;

        string q = "";

        public Form1()
        {
           
            question = new Question(q);
            InitializeComponent();
          question.HentSpørgsmål();
        }
    }
Avatar billede kalp Novice
22. januar 2007 - 15:56 #34
public Form1()
        {
           
            question = new Question(q);
question.InitializeArray();
            InitializeComponent();
          question.HentSpørgsmål();
        }
Avatar billede md_craig Nybegynder
22. januar 2007 - 15:57 #35
Problemet er at du initialisere noget static fra din non static Constructor... det vil gå galt...

samtidig bør din DrawRandom også være static rent logisk, for den arbejder ikke på en instans af objectet men på type instansen... så der er som kalp siger lidt mix op...

Det første er at du skal konvertere det der skal vær estatic til static, som jeg sagde i den tidligere tråd så var lagringen af spm osv. forker osv. men demonstrationen af spm stod... men du har fået rodet lidt rundt i hvad der skulle være static og hvad der ikke skulle være static godt og grundigt i forhold til det ex jeg gav dig...

So here goes... håber du får mere ud af det:

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

namespace MyNamespace
{
    class Program
    {
        static void Main( string[] args )
        {
            QuestionCollection qcol = QuestionCollection.CreateCollection();

            Console.WriteLine( "List all Questions:" );
            foreach ( Question q in qcol )
                Console.WriteLine( q );

            Console.WriteLine();
            Console.WriteLine( "Draw randoms until user exits:" );

            while ( !Console.ReadLine().Equals( "exit", StringComparison.InvariantCultureIgnoreCase ) )
            {
                Console.WriteLine( qcol.DrawRandom() );
            }
        }
    }

    class Question
    {
        private string _question;
        private string _awnser;

        public string QuestionString
        {
            get { return _question; }
        }

        public string Awnser
        {
            get { return _awnser; }
        }

        public Question( string q, string a )
        {
            this._question = q;
            this._awnser = a;
        }

        public override string ToString()
        {
            return string.Format( "{0} ...: {1}", this._question, this._awnser );
        }
    }

    class QuestionCollection : IEnumerable<Question>
    {
        private static Random Rand = new Random();
        private List<Question> _innerList;

        public QuestionCollection()
        {
            this._innerList = new List<Question>();
        }

        public static QuestionCollection CreateCollection()
        {
            QuestionCollection qcol = new QuestionCollection();
            qcol.AddQuestion( "Hvad er dette kodet i?", "C#" );
            qcol.AddQuestion( "Hvorfor er det kodet?", "For at hjælpe qiendr" );
            qcol.AddQuestion( "Hvem har kodet det først?", "md_craig" );
            return qcol;
        }

        public void AddQuestion( string question, string awnser )
        {
            if ( this.ContainsQuestion( question ) )
                return; //Altarnatict kast en exception for at indikere at spørgsmålet allerede eksisterede.
            this._innerList.Add( new Question( question, awnser ) );
        }

        public string GetAwnser( string question )
        {
            if ( !this.ContainsQuestion( question ) )
                return "N/A"; //Altarnatict kast en exception for at indikere at spørgsmålet allerede eksisterede.
           
            foreach ( Question q in this._innerList )
            {
                if ( q.QuestionString == question )
                    return q.Awnser;
            }

            return "N/A";
        }

        public Question DrawRandom()
        {
            return _innerList[ Rand.Next( 0, _innerList.Count ) ];
        }

        public bool ContainsQuestion( string question )
        {
            foreach ( Question q in this._innerList )
            {
                if ( q.QuestionString == question )
                    return true;
            }
            return false;
        }

        public IEnumerator<Question> GetEnumerator()
        {
            foreach ( Question q in this._innerList )
                yield return q;
        }

        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            return this.GetEnumerator();
        }
    }
}
Avatar billede md_craig Nybegynder
22. januar 2007 - 15:58 #36
Kommentar: giendr
22/01-2007 15:52:48

Du initialisere dine spørgsmål, således at der er nogle i colectionen.
Avatar billede giendr Nybegynder
22. januar 2007 - 16:10 #37
Det var en ordentlig mundfuld. måske lige i overkanten, for jeg prøvet gøre det så simpelt som muligt i første omgang, til jeg får bedre styr på programmeringen. Som du kan se burde det være ret enkelt det jeg prøver lave, óg jeg er ikke nogen haj - obviously - så jeg har bare brug for at vide, hvordan jeg i min kode kan få fat i spørgsmålene, så jeg prøver lige at se på static non static som du skrev.
Avatar billede kalp Novice
22. januar 2007 - 16:12 #38
løsningen er simpel nok.. problemet er at du glemmer at give feedback så man aner faktisk ikke om du har prøvet alt hvad der er blevet skrevet.
Avatar billede md_craig Nybegynder
22. januar 2007 - 16:19 #39
Er det her nemmere at forstå for dig så? :

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

namespace MyNamespace
{
    class Program
    {
        static void Main( string[] args )
        {
            QuestionCollection qcol = new QuestionCollection();
            qcol.AddQuestion( "Hvad er dette kodet i?", "C#" );
            qcol.AddQuestion( "Hvorfor er det kodet?", "For at hjælpe qiendr" );
            qcol.AddQuestion( "Hvem har kodet det først?", "md_craig" );
            Console.WriteLine( "Draw randoms until user exits:" );

            while ( !Console.ReadLine().Equals( "exit", StringComparison.InvariantCultureIgnoreCase ) )
            {
                Console.WriteLine( qcol.DrawRandom() );
            }
        }
    }

    class Question
    {
        private string _question;
        private string _awnser;

        public Question( string q, string a )
        {
            this._question = q;
            this._awnser = a;
        }

        public override string ToString()
        {
            return string.Format( "{0} ...: {1}", this._question, this._awnser );
        }
    }

    class QuestionCollection
    {
        private static Random Rand = new Random();
        private List<Question> _innerList = new List<Question>();

        public void AddQuestion( string question, string awnser )
        {
            this._innerList.Add( new Question( question, awnser ) );
        }

        public Question DrawRandom()
        {
            return _innerList[ Rand.Next( 0, _innerList.Count ) ];
        }
    }
}
Avatar billede md_craig Nybegynder
22. januar 2007 - 16:26 #40
Det mangler jo så en del af de ting man bør gøre, og burde kunne... men det må vi jo så prøve at bygge på langsomt så du forstår det...

Overstående indeholder som du nok kan se 3 klasser, Klassen Program skal du ikke spekulere så meget over nu og her, da du vil bruge det med en form, så du bare bruge det der står inden i main metoden et passende sted i din form istedet... fx der hvor du allerede initializere...

public partial class Form1 : Form
    {
        QuestionCollection question;

        public Form1()
        {
            question = new QuestionCollection();
            qcol.AddQuestion( "Hvad er dette kodet i?", "C#" );
            qcol.AddQuestion( "Hvorfor er det kodet?", "For at hjælpe qiendr" );
            qcol.AddQuestion( "Hvem har kodet det først?", "md_craig" );

            InitializeComponent();
            Console.WriteLine( question.DrawRandom() );
        }
    }
Avatar billede md_craig Nybegynder
22. januar 2007 - 16:29 #41
De to andre er esentielle...

Question, siger jo sig selv hvad det er, det er et spørgsmål, og med tilhørende svar. det er egentlig bare en klasse der holder på de 2 værdier.

QuestionCollection er den vigtigste...

Klassen indeholder en liste af spørgsmål, det er fx de 10 spørgsmål du gerne vil have, disse tilføjer du via metoden AddQuestion( string, string ).

DrawRandom trækker et tilfældigt af de tilføjede spørgsmål ud fra listen og returnere det. det er det vi gør her:
Avatar billede md_craig Nybegynder
22. januar 2007 - 16:30 #42
Console.WriteLine( question.DrawRandom() );

Fordi vi har lavet vores egen "ToString" metode på klassen Question, kan de netop lade sig gøre at parse den til Console.WriteLine unden at gøre andet.

Sorry for de mange post her til sidst desuden... kom til at trykke på send et par gange...
Avatar billede giendr Nybegynder
22. januar 2007 - 16:31 #43
Jeg prøver at kigge på det. Jeg tror problemet ligger i, at jeg ikke ved hvordan jeg i min kode skal få fat i et random spørgsmål fra min liste over spørgsmål som oven i købet er fundet random, så mit overblik forsvinder lidt når det er hel ny kode der bliver lavet, i stedet for at arbejde videre på den jeg har siddet og arbejdet på hele dagen. Men jeg prøver at overføre logikken fra den "nye" kode til den "gamle".
Avatar billede md_craig Nybegynder
22. januar 2007 - 17:05 #44
Ja, men det man kan sige det er at det nye kode IMO burde bære mere logisk da du har opdelt det ordenligt nu, dvs at klassen Question ikke længere både holder et enkelt spørgsmål, og en hel række spørgsmål...

Istedet har du nu en klasse der håndtere et fysisk spørgsmål... (Et kort i en blandet bunke fx, hvis du forestiller dig du har en bunke kort med spørgsmål fysisk i den virkelige verden hvor der på kortet står spørgsmål samt svar)...

Når man så: new Question( question, awnser ) ...

Så laver du et nyt af disse kort... Det er altså ÉT kort kun...
QuestionCollection er så hele din bunke af kort... fx har du 3 kort nu.

Metoden AddQuestion svare her til at du tager et nyt stykke papir, skriver dit spørgsmål og svar på og ligger det ind i denne bunke. igen set som perspektiv til den virkelige verden...

Vi laver her 3 kort fx og ligger dem i en bunke.
DrawRandom svarer til at du tager et tilfældigt kort i din stak. tager det ud og kigger på det... og så ligger vi det tilbage på dets plads igen (det er ikke helt det der sker i programeringens verden, men det giver dig måske et bedre billede af tingene)

lad os kigge på denne metode:

        public void AddQuestion( string question, string awnser )
        {
            this._innerList.Add( new Question( question, awnser ) );
        }

lad so pensle den lidt ud:

        public void AddQuestion( string question, string awnser )
        {
            //Vi laver først et nyt spørgsmål, og vi skriver spørgmålet og svaret som vi ville have gjort på et kort.
            Question q = new Question( question, awnser );

            //Efter vi har lavet spørgsmålet ligger vi det over i stakken af vores spørgsmål.
            this._innerList.Add( q );
        }

vi prøver mer 6 spørgsmål:

            question = new QuestionCollection();
            //Nu har vi en tom stak, der er altså ingen spørgsmål.

            qcol.AddQuestion( "Hvad er dette kodet i?", "C#" );
            //Nu har vi lavet et spørgsmål og lagt det i stakken, så er der ialt 1 spm

            qcol.AddQuestion( "Hvorfor er det kodet?", "For at hjælpe qiendr" );
            //Nu har vi lavet et spørgsmål og lagt det i stakken, så er der ialt 2 spm

            qcol.AddQuestion( "Hvem har kodet det først?", "md_craig" );
            //Nu har vi lavet et spørgsmål og lagt det i stakken, så er der ialt 3 spm

            qcol.AddQuestion( "Hvor bor vi henne?", "Danmark" );
            //Nu har vi lavet et spørgsmål og lagt det i stakken, så er der ialt 4 spm

            qcol.AddQuestion( "Hvad er den største mønt?", "en 20 krone" );
            //Nu har vi lavet et spørgsmål og lagt det i stakken, så er der ialt 5 spm

            qcol.AddQuestion( "Hvor mange timer er der i et døgn?", "24" );
            //Nu har vi lavet et spørgsmål og lagt det i stakken, så er der ialt 6 spm

Ok nu har vi fx istedet taget og gjort det 6 gange isstedet... så nu har vi altså en stak med 6 kort, som vi har lagt i en stak.

Da vi nu har 6 kort svarer det 100% til at du kan tage en tærning og slå med den, og så trækker du kortnummer svarende til det tærningen viser.
slår vi en 3'er trækker vi kort nummer 3 ud osv...
grunden til jeg lige gør det således er fårdi vi nu evealuere denne metode:

        public Question DrawRandom()
        {
            return _innerList[ Rand.Next( 0, _innerList.Count ) ];
        }

laver vi den lidt om:

        public Question DrawRandom()
        {
            //Vi slår med tærningen og kigger på hvor mange øjne den viser
            int ojne = Rand.Next( 0, _innerList.Count );

            //Vi trækker kortet der ligger på den plads som svarer til tærningens værdi.
            return _innerList[ ojne ];
        }


Det kan godt være dette virker meget pedagogisk og for nogle vil man måske mene at det måske er lige for meget, som om man snakker til en 5 årrig... men nogle gange kan det være rart for det første lige at pensle tingene lidt ud, det er det der er gjort ved jeg lige har delt det lidt op hvad der sker i metoderne, så det er mere pedagogisk. en anden ting er at jeg har prøvet at relatere det til den virkelige verden. som for nogle igen er en god ting når man skal lærer at forstå, da det pluselig bliver mere håndgribeligt... et sted hvor vi ligsom alle kan være med, for vi forstå jo nok alle sammen den der med at tage et stykke papir, skrive et spørgsmål og et svar på, og lige det over i en bunke, tage en nyt stykke papir og gentage processen...

Og det er nemlig lige præsis det der foregår i koden.

Så jeg håber det hjælper lidt og at du ikke kommer til at tænke "Tror han jeg er helt retaderet"...
Avatar billede giendr Nybegynder
22. januar 2007 - 17:07 #45
Super nu virker det og jeg har forstået. Det er åbenbart nemmere med ArrayList end Array[], og måske var problemet også, at spørgsmålene aldrig skulle have været initialiseret i en metode (InitializeArray())?? Eller var det forsi der ikke var lavet en override ToString metode iden gamle kode?

Nu er der kun 1 problem, hvordan får jeg parsed et Question til en string ved :

  private void button1_Click(object sender, EventArgs e)
        {

          label1.Text = questioncol.DrawRandom();
        }
Avatar billede md_craig Nybegynder
22. januar 2007 - 17:14 #46
kommer an på hvilken kode du lige bruger. bruger du dig egen skal du stedet:

  private void button1_Click(object sender, EventArgs e)
        {

          label1.Text = questioncol.DrawRandom().q;
        }

Du du er interesseret i den tekst der står på kortet og ikke selve kortet. (kortet relateret til min tildigere post)
Avatar billede giendr Nybegynder
22. januar 2007 - 17:29 #47
Det kan være fint med pædagogiske forklaringer somme tider...men jeg er ok til at forstå kode, men knap så rutineret til selv at kunne lave om de mere avancerede ting.

Jeg har brugt den nye kode, så jeg brugte ToString - men det mærkelige er at jeg kun får svaret og ikke spørgsmålet???:

  private void button1_Click(object sender, EventArgs e)
        {

          label1.Text = questioncol.DrawRandom().ToString();
        }
Avatar billede giendr Nybegynder
22. januar 2007 - 17:45 #48
Har I fået Jeres point?
Avatar billede md_craig Nybegynder
22. januar 2007 - 18:38 #49
Selv om du kan forstå kode, kan paralleller til virkeligheden stadig være yderst nyttigt... Det er jo typisk noget fra virkeligheden vi forsøger at komme ind i computeren alligevel...

Så selv om jeg måske efterhånden har en del års erfaring bag mig, bruger jeg stadig meget det at visualisere min kode... så jeg mener det i høj grad er en stor del af programmering at man er i stand til det...
Avatar billede snowball Novice
05. februar 2007 - 17:19 #50
giendr: Nej, der er ikke blevet uddelt point i dette spørgsmål. Det samme gælder faktisk alle de spørgsmål du har oprettet.

Prøv og læs http://www.expfaq.dk/behandling_af_svar#behandling_af_svar og gennemgå derefter alle dine spørgsmål så de kan blive afsluttet eller taget videre handling på :)

Snowball / CoAdmin
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester