none
MS visual studios C#, the name XXXX does not exist in the current context. Beginner needs a hand. RRS feed

  • Question

  • Hi!

    I get the error "The name "character" does not exist in the current context. and i can't figure out why when i try and call my method expandArray. I've tried and read the course book on the related topics. and googled as well, but the other topics didn't really apply to my code error. I'm making a console registration application.

    Here's my code(there's a lot of code documentations due to the school project states that we must write documentations to prove that we know what's going on, I'm not asking for anyone to complete the project for me just to at least give a heads up what i need to take another look at):

    using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;
    using System.Media;
    using System.IO;
    namespace GoTREG
    {
        class Program
        {

            //vektor som sköter alla karaktärer
            public static kInfo[] infos = new kInfo[0];

            public static void Main(string[] args)
            {
                //Använder system.Media för att spela upp valda ljudfiler, dock endast .wav ljudfiler.
               // System.Media.SoundPlayer sp = new System.Media.SoundPlayer(@"Om du har en .wav ljudfil så lägg sökvägen här eller så kan du ta bort det gröna");
               // sp.Play();
                
                laddaFrånFil();

                {



                    // Den fina loggan

                    System.Console.WriteLine("==============================================");
                    System.Console.WriteLine("==============================================");
                    System.Console.WriteLine("   ****                   ****************");
                    System.Console.WriteLine("  ******                  ****************");
                    System.Console.WriteLine("**      ***     ******    **    ****    **");
                    System.Console.WriteLine("**             ********   *     ****     *");
                    System.Console.WriteLine("**   ******   **      **        ****");
                    System.Console.WriteLine("**   **  **   **      **        ****");
                    System.Console.WriteLine(" *       **    ********         ****");
                    System.Console.WriteLine("  *******       ******          ****");
                    System.Console.WriteLine("==============================================");
                    System.Console.WriteLine("      Game of Thrones Register");
                    System.Console.WriteLine("==============================================");

                    System.Console.WriteLine("1. Sök karaktär");

                    System.Console.WriteLine("2. Visa Alla");

                    System.Console.WriteLine("3. Lägg till karaktär");

                    System.Console.WriteLine("4. Ta bort karaktär");

                    System.Console.WriteLine("5. Avsluta");

                    var val = Console.ReadLine();

                    int MenyVal = 0;

                    if (int.TryParse(val, out MenyVal)) // Villkoren för menyvalen kontrolleras 
                        //och försöker om möjligt göra ett inmatat värde till ett heltal
                        //för att stämma överens med ett menyval
                        switch (MenyVal)
                        {
                            case 1:
                                //Sökning av karaktär eller karaktärer beroende av vilken attribut man söker på
                                System.Console.WriteLine("Sök efter karaktärer genom att skriva namn, efternamn, status(död/levande), kön, hus(t.ex Stark, Lannister etc.)");
                                System.Console.ReadLine();

                                break;

                            case 2:
                                //listar alla karaktärer i vektorn
                                string path = "@GoTreg.txt";
                                Console.WriteLine(path);
                                break;
                            case 3:
                                //En karaktär läggs till
                                kInfo info = new kInfo();

                                Console.WriteLine("Lägg till en karaktär.");
                                Console.Write("Namn: ");
                                info.namn = Console.ReadLine();


                                Console.Write("Efternamn: ");
                                info.efternamn = Console.ReadLine();
                                string kön = "";
                                while (!((kön == "Man" || (kön == "Kvinna"))))
                                {
                                    Console.Write("Kön: (Man/Kvinna)");

                                    info.kön = Console.ReadLine().ToUpper();
                                    break;
                                }
                                Console.Write("Hus: ");
                                info.hus = Console.ReadLine();
                                Console.Write("Status: (Död/Levande)");
                                info.status = Console.ReadLine();

                                //anropa metod för att lägga in posten i vektorn infos

                                infos = expandArray(infos, character);

                                SparaTillFil();
                                break;

                            case 4:
                                //tar bort karaktär från vektorn
                                System.Console.WriteLine();
                                break;

                            case 5:
                                System.Console.WriteLine();
                                break;

                            default:
                                //Ger fel meddelande om inget korrekt val har gjorts
                                System.Console.WriteLine("Inkorrect val, skriv in en siffra mellam 1-5 för respektive meny val.");
                                break;
                        }
                    else
                    {
                        //Om något annat än en siffra matats in så ger det ett felmeddelande 
                        //och programmet avslutas efter att användaren tryck på valfri tangent
                        //och trycker på enter/retur
                        Console.WriteLine("Endast siffror accepteras");
                        Console.WriteLine("Tryck på valfri knapp för att avsluta.");
                        Console.ReadKey();

                    }
                }
            }

            public static void laddaFrånFil()
            {

                StreamReader infil = new StreamReader("GoTreg.txt");
                string line;

                while ((line = infil.ReadLine()) != null)
                {
                    string[] fält = line.Split('\t');
                    string namn = fält[0];
                    string efternamn = fält[1];
                    string kön = fält[2];
                    string hus = fält[3];
                    string status = fält[4];

                    kInfo info = new kInfo();

                    info.namn = namn;
                    info.efternamn = efternamn;
                    info.kön = kön;
                    info.hus = hus;
                    info.status = status;

                    infos = expandArray(infos, character);
                }
            }
            public static void SparaTillFil()
            {
                StreamWriter utfil = new StreamWriter("GoTreg.txt");
                for (int i = 0; i < infos.Length; i++)
                {
                    kInfo info = infos[i];

                    utfil.Write("{0}\t{1}\t{2}\t{3}\t{4}\t", info.namn, info.efternamn, info.kön, info.hus, info.status);
                }
                utfil.Close();
            }
            public static kInfo[] expandArray(kInfo[] GammalArr, kInfo character)
            {
                kInfo[] nyArr = new kInfo[GammalArr.Length + 1]; //förlänger vektorn med en karaktär
                for (int i = 0; i < GammalArr.Length; i++)
                {
                    nyArr[i] = GammalArr[i]; //gamla vektorns värden kopieras till den nya
                }

                nyArr[nyArr.Length - 1] = character; //Nu finns det en ny karaktär i vektorn

                return nyArr; //returnerar den nya vektorn
            }
        }
    }


    Tuesday, April 29, 2014 7:31 AM

Answers

  • Hi.

    You don't have any variable called "character".

    When you invoke method, you must pass valid variables (or values).

    infos = expandArray(infos, character);

    "character"  is not defined anywhere.

    Hope this help.

    • Marked as answer by Gabbelino Friday, May 2, 2014 8:33 AM
    Tuesday, April 29, 2014 10:01 AM

All replies

  • Hi.

    You don't have any variable called "character".

    When you invoke method, you must pass valid variables (or values).

    infos = expandArray(infos, character);

    "character"  is not defined anywhere.

    Hope this help.

    • Marked as answer by Gabbelino Friday, May 2, 2014 8:33 AM
    Tuesday, April 29, 2014 10:01 AM
  • Ah! thanks got it working now, now i can focus on other problems and hopefully clear them on my own :D

    again thanks alot!

     
    Friday, May 2, 2014 8:33 AM
  • Thanks! fixed it :)
    Friday, May 2, 2014 8:34 AM