Avatar billede Slettet bruger
06. november 2007 - 19:14 Der er 12 kommentarer og
2 løsninger

Sætte List<string>?

Hej eksperter!

Hvordan sætter jeg en List<string>?
Og nej, jeg kan ikke bare bruge Add, da jeg anvender List<string> som type for parametre.
Avatar billede kalp Novice
06. november 2007 - 19:17 #1
hvad prøver du at sige?


-------


List<string> list = new List<string>();

list.Add("hejsa");
Avatar billede kalp Novice
06. november 2007 - 19:21 #2
eller det her du prøver?

List<List<string>> list = new List<List<string>>();
List<string> listtwo = new List<string>();
list.Add(listtwo);
Avatar billede nielle Nybegynder
06. november 2007 - 19:42 #3
Eller sådan?

List<string> xxx = new List<string>(new string[] { "a", "b", "c" });
Avatar billede Slettet bruger
06. november 2007 - 20:10 #4
I får lige et eksempel...

namespace Something
{
    class TestClass
    {
        private List<string> TestStringList = new List<string>();
        public TestClass(List<string> stringList)
        {
            TestStringList = stringList:
        }
    }
    class Program
    {
        public static TestClass TestInstance = new TestClass(  ???  );
        static void main (string[]args)
        {
        // Duh
        }
    }
}

Hvad skal ??? så være?
Avatar billede nielle Nybegynder
06. november 2007 - 20:11 #5
xxx skal være:

new List<string>(new string[] { "a", "b", "c" });
Avatar billede Slettet bruger
06. november 2007 - 20:14 #6
Okay, tak for det, men er der ingen lettere måde at gøre det på?
Avatar billede kalp Novice
06. november 2007 - 20:17 #7
sådan her

public static TestClass TestInstance = new TestClass(  new List<string>() );
Avatar billede nielle Nybegynder
06. november 2007 - 20:25 #8
Det afhænger jo af hvad du mener med lettere...

Men du kan faktisk godt gøre det med Add - men så skal du bare bruge en static constructor:

    class Program
    {
        static Program()
        {
            List<string> init = new List<string>();
            init.Add("a");
            init.Add("b");
            init.Add("c");
            TestInstance = new TestClass(init);
        }

        public static TestClass TestInstance; // = new TestClass( ??? );

        static void Main(string[] args)
        {
            // Duh
        }
    }
Avatar billede Slettet bruger
06. november 2007 - 21:36 #9
Kan du give et eksempel på
public static TestClass TestInstance = new TestClass(  new List<string>() );
?

nielle, din løsning er ikke lige, hvad jeg leder efter, men ellers tak :)
Avatar billede nielle Nybegynder
06. november 2007 - 21:40 #10
> Kan du give et eksempel på
> public static TestClass TestInstance = new TestClass(  new List<string>() );

Sådan ser koden simpelthen ud.

Den giver en tom liste til din TestInstans.

Hvis det ikke skal være en tom liste (0 elementer, ikke en liste som er null) så er det enten koden i 06/11-2007 20:11:38 eller alternativet i 06/11-2007 20:25:06.
Avatar billede Slettet bruger
06. november 2007 - 21:45 #11
Nå. Så meget for at gøre det enkelt!
I hvert fald tager jeg din første version, så...
Bare smid et svar, begge to!
Avatar billede nielle Nybegynder
06. november 2007 - 21:49 #12
Du kan også vælge at gøre det sådan her:

    class TestClass
    {
        private List<string> TestStringList;

        public TestClass(string[] stringList)
        {
            TestStringList = new List<string>(stringList);
        }
    }

    class Program
    {
        public static TestClass TestInstance = new TestClass(new string[]{"a", "b", "c"});

        static void Main(string[] args)
        {
            // Duh
        }
    }

Men ellers synes jeg nu at eksemplet med den static constructor er det der er nemmest at læse.
Avatar billede Slettet bruger
06. november 2007 - 22:10 #13
Så jeg angiver parametrene som arrays og laver dem om til List<string>'s? Tjo, hvorfor ikke :)
Avatar billede kalp Novice
07. november 2007 - 08:35 #14
:)
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