Avatar billede Slettet bruger
10. september 2007 - 19:27 Der er 9 kommentarer og
1 løsning

Spørgsmål vedrørende foreach

Hej eksperter!

Hvis jeg har oprettet nogle klasseinstanser (lad os sige af klassen Klasse) og vil finde dem med foreach, hvad skal jeg så skrive, hvis instanserne er oprettet direkte fra Main-funktionen?
Avatar billede kcasper Nybegynder
10. september 2007 - 19:38 #1
foreach (fileinfo fil in mapp.GetFiles("*.txt"))
{
if (Fil.Name.Length >= 15)
}

det du mener eller er jeg helt gal på den ?
Avatar billede nielle Nybegynder
10. september 2007 - 19:49 #2
Hvordan ser din kode ud?
Avatar billede Slettet bruger
10. september 2007 - 20:04 #3
Øh... Du er helt gal på den, men det er vist mest min skyld :)
I får lige hele koden:


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

namespace MyNamespace
{
    class MyClass
    {
        public MyMethod()
        {
            Console.WriteLine("Sååådan!");
        }
    }
   
    class Program
    {
        static void Main(string[] args)
        {
            MyClass MyInstance1 = new MyClass();
            MyClass MyInstance2 = new MyClass();
            MyClass MyInstance3 = new MyClass();
            foreach (MyClass PickMe in WHAT) // <<< Hvad skal WHAT være?
            {
                PickMe.MyMethod();
            }
        }
    }
}
Avatar billede nielle Nybegynder
10. september 2007 - 20:13 #4
En mulig løsning:

    class Program
    {
        static void Main(string[] args)
        {
            MyClass MyInstance1 = new MyClass();
            MyClass MyInstance2 = new MyClass();
            MyClass MyInstance3 = new MyClass();

            MyClass[] MyInstanceArr = new MyClass[] { MyInstance1, MyInstance2, MyInstance2 };

            foreach (MyClass PickMe in MyInstanceArr) // <<< Hvad skal WHAT være?
            {
                PickMe.MyMethod();
            }
        }
    }
Avatar billede Slettet bruger
10. september 2007 - 20:15 #5
Øh, det var dog besværligt? Er det ikke muligt automatisk at referere til dem ellers?!
Avatar billede nielle Nybegynder
10. september 2007 - 20:15 #6
... og en anden mulig løsning:

    class Program
    {
        static void Main(string[] args)
        {
            MyClass MyInstance1 = new MyClass();
            MyClass MyInstance2 = new MyClass();
            MyClass MyInstance3 = new MyClass();

            List<MyClass> MyInstanceList = new List<MyClass>();
            MyInstanceList.Add(MyInstance1);
            MyInstanceList.Add(MyInstance2);
            MyInstanceList.Add(MyInstance3);

            foreach (MyClass PickMe in MyInstanceList) // <<< Hvad skal WHAT være?
            {
                PickMe.MyMethod();
            }
        }
    }
Avatar billede nielle Nybegynder
10. september 2007 - 20:17 #7
Hvis de alligevel kun skal tilgås via arrayet/listen er der ingen grund til at oprette dem som enkelte instanser først:

    class Program
    {
        static void Main(string[] args)
        {
            List<MyClass> MyInstanceList = new List<MyClass>();
            MyInstanceList.Add(new MyClass());
            MyInstanceList.Add(new MyClass());
            MyInstanceList.Add(new MyClass());

            foreach (MyClass PickMe in MyInstanceList) // <<< Hvad skal WHAT være?
            {
                PickMe.MyMethod();
            }
        }
    }
Avatar billede nielle Nybegynder
10. september 2007 - 20:20 #8
Og nej, det kan ikke gøres lettere - men sagtens meget mere besværlig/kringlet, hvis det skulle være.
Avatar billede Slettet bruger
10. september 2007 - 21:06 #9
Okay... Bare smid et svar så, jeg tror løsning nummer to er bedst egnet til mit formål.
Avatar billede nielle Nybegynder
10. september 2007 - 21:07 #10
Svar :^)
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