2009-04-10 26 views
1

Dieser Code funktioniert correctely einen Web-Service-AufrufErstellen Sie dynamische Liste C#

int numberOfGuests = Convert.ToInt32 (search.Guest) zu machen;

 var list = new List<Guest>(); 
     Guest adult = new Guest(); 
     adult.Id = 1; 
     adult.Title = "Mr"; 
     adult.Firstname = "Test"; 
     adult.Surname = "Test"; 
     list.Add(adult); 
     Guest adult2 = new Guest(); 
     adult2.Id = 2; 
     adult2.Title = "Mr"; 
     adult2.Firstname = "Test"; 
     adult2.Surname = "Test"; 
     list.Add(adult2); 

     Guest[] adults = list.ToArray(); 

Wie baue ich die Liste dynamisch mit der Variable Anzahl der Gäste, um die Liste zu erstellen. Die Ausgabe muss exakt mit der angezeigten Ausgabe übereinstimmen, sonst schlägt der Web-Service-Aufruf fehl, also adult.id = 1, adult2.id = 2, adult3.id = 3 etc ...

+0

Ist das nicht die gleiche Frage wie diese? http://stackoverflow.com/questions/735446/dynamically-build-an-array-for-web-service-c. Wenn nicht, welche neuen Informationen benötigen Sie? – dommer

Antwort

4

Wissen Sie über Schleifen?

for (int i = 1; i <= numberofGuests; i++) { 
    var adult = new Guest(); 
    adult.Id = i; 
    adult.Title = "Mr"; 
    adult.Firstname = "Test"; 
    adult.Surname = "Test"; 
    list.Add(adult) 
} 

Dies führt den Code innerhalb der Schleife einmal von 1 bis numberOfGuests, die Variable i auf den aktuellen Wert zu setzen.

+0

Ich denke, das OP möchte verschiedene Daten für jede Schleife Iteration verwenden - zum Beispiel Titel, Vorname, SurName. – Cerebrus

1

Sie benötigen eine for loop. Oder, noch besser, ein anständiges C# -Buch - das sind wirklich Grundlagen von C#.

+0

Grundlagen für die meisten Programmiersprachen. – SirDemon

+0

Ich denke, das OP möchte verschiedene Daten für jedes Listenmitglied verwenden, die Tatsache, dass der Titel usw. für jedes Listenmitglied gleich ist, liegt nur daran, dass es sich um einen kleinen Code handelt. –

2

Die Art und Weise Linq :-)

var list = (from i in Enumerable.Range(1, numberOfGuests) 
     select new Guest 
     { 
      Id = i, 
      Title = "Mr.", 
      Firstname = "Test", 
      Surname = "Test" 
     }).ToList(); 
0

Sind Sie fragen, wie dynamisch eine Liste angezeigt werden? Ich bin nicht wirklich sicher, worum es bei der Frage hier geht, denn die anderen Antworten sagen, wenn Sie den Wert von numberofGuests kennen, dann können Sie einfach eine Schleife verwenden, um durch Ihre Liste zu gehen.

Ich vermute, Sie fragen sich, wie man diese Informationen an erster Stelle erhalten kann, habe ich recht? Wenn Sie dynamisch mögen Kontrollen zu einer Seite hinzufügen (Ihre frühere Post vorschlägt dies ASP.Net war ich glaube?), So dass Sie nur die richtige Anzahl der Kontrollen zeigen dann einen Blick auf diesen Fragen nehmen:

Dynamically adding controls in ASP.NET Repeater

ASP.NET - How to dynamically generate Labels

Verwandte Themen