tutorials.de Buch-Aktion 05/2012
ERLEDIGT
NEIN
ANTWORTEN
2
ZUGRIFFE
449
EMPFEHLEN
  • An Twitter übertragen
  • An Facebook übertragen
AUF DIESES THEMA
ANTWORTEN
  1. #1
    EddieG EddieG ist offline Mitglied Gold
    Registriert seit
    Jul 2007
    Beiträge
    216
    Hi,
    ich schäme mich eigentlich für die Frage aber ich muss sie dennoch stellen. Und zwar habe ich folgendes Problem:
    Ich habe eine Variable von dem Typ BaseObject was BaseObject ist tut hier nichts zu Sache.
    Diese wird in einer For Schleife immer wieder neu erstellt. Nun möchte ich aber nicht das Die Variable immer wieder überschrieben wird, da sich die Daten ändern, sondern dass der Variable die Zahl des Schleifen Durchgangs angehängt wird.
    Code :
    1
    2
    3
    4
    5
    
    For(int i=1; i<Anzahl; i++)
    {
     BaseObject test = BaseObject.Alloc();
     
    }
    Steht nun in "Anzahl" eine 5
    sollte die Variable im prinzip so lauten
    1. er Durchgang test1
    2. er Durchgang test2
    3. er Durchgang test3
    4. er Durchgang test4
    5. er Durchgang test5
    Ich habe es so versucht
    Code :
    1
    
     BaseObject test +""+i= BaseObject.Alloc();
    Das geht so jedoch nicht. Habe ich eine Variante übersehen? Denn zu einem String kann ich es nun mal nicht konvertieren, da die Variable vom Typ BaseObject seien muss.

    Jemand eine Idee?
     

  2. #2
    Avatar von rd4eva
    rd4eva rd4eva ist offline Mitglied Brillant
    Registriert seit
    Feb 2003
    Beiträge
    756
    C# als Programmiersprache ist nicht zu vergleichen mit Script Sprachen wie PHP oder Perl wo dynamische Variablennamen kein Problem darstellen.

    Folgendes ist Beispielsweise in PHP kein Problem
    PHP-Code:
    <?php

    $var_1 
    "foobar";

    $varname "var_";
    $varnum  "1";

    echo ${
    $varname.$varnum}; // => foobar
    In C# ist das nicht möglich da wirst du den "Umweg" über irgendeine Form von Array/Hashtable/Dictionary etc. gehen müssen.
    Code csharp:
    1
    2
    3
    4
    5
    6
    
    BaseObject[] collection = new BaseObject[Anzahl];
     
    For(int i=1; i<Anzahl; i++)
    {
        collection[i] = BaseObject.Alloc(); 
    }
     
    In order to understand recursion, one must first understand recursion.

  3. #3
    MCoder MCoder ist offline Mitglied Diamant
    tutorials.de Premium-User
    Registriert seit
    Jul 2005
    Ort
    München
    Beiträge
    2.448
    Hallo,

    dafür solltest du ein Array von BaseObject bereitstellen:
    Code csharp:
    1
    2
    3
    4
    5
    6
    
    BaseObject [] aBaseObject = new BaseObject[Anzahl];
     
    for( int i=1; i<Anzahl; i++ )
    {
        BaseObject[i] = BaseObject.Alloc();
    }
    Gruß
    MCoder

    // EDIT: Zu langsam
     
    "The three chief virtues of a programmer are: Laziness, Impatience and Hubris."
    --- Larry Wall

Ähnliche Themen

  1. Public Variable as Integer
    Von Blatt im Forum Visual Basic 6.0
    Antworten: 6
    Letzter Beitrag: 23.06.06, 00:20
  2. formularfeldern variable anhängen
    Von crowfield im Forum PHP
    Antworten: 4
    Letzter Beitrag: 17.02.05, 13:58
  3. Antworten: 4
    Letzter Beitrag: 16.09.04, 20:17
  4. Überprüfen ob Variable ein integer ist
    Von thesign im Forum C/C++
    Antworten: 3
    Letzter Beitrag: 10.01.04, 01:12
  5. Antworten: 5
    Letzter Beitrag: 16.09.01, 17:47