2016-07-21 16 views
0

Momentan versuche ich, ein CSV-Exportprogramm für Arbeit zu schreiben, um die Erstellung von Arbeitsaufträgen für unsere Supervisor zu beschleunigen. Auf dem Papier ist es ein ziemlich einfaches Konzept, importieren Sie die CSV mit unseren Teileinformationen und unseren aktuellen Produktionsanforderungen. Die Spalten der CSV werden in separate Listen aufgeteilt. Ich versuche, eine Schaltfläche zu erstellen, mit der der Benutzer die Menge basierend auf der Teilenummer automatisch festlegen kann.Übereinstimmende Einträge in Listen

Die Art, wie ich derzeit darüber nachdenke, ist, den spezifischen Eintrag auf dem "Spot" der Liste zu nehmen (ich kann mir keinen besseren Begriff vorstellen).

Beispiel:

Dinosaur List 
1. T-Rex 
2. Triceratops 
3. Allosaurus 

Diet List 
1. Carnivore 
2. Herbivore 
3. Carnivore 

Wenn mein Benutzer Allosaurus ausgewählt, ich würde ein Wert von 3 zurückgegeben werden soll, und dann mag ich, daß Sie mit dem rechten Eintrag aus der Liste meiner zweiten Liste, in diesem Fall zu ergreifen, Carnivore.

Ich bin mir nicht sicher, genau, wie ich das tun würde, und jede Hilfe oder Anweisung würde sehr geschätzt werden.

Antwort

0

Sie sollten wirklich Object-Oriented Programmierung in diesem Fall verwenden.

Wenn ich Sie wäre, würde ich eine Klasse Dinosaurier erklären und Unterklassen für jede Art von Dinosaurier machen. Platzieren Sie in der Superklasse (Dinosaur) eine abstrakte Eigenschaft des Typs DinosaurDiet, um die Implementierung dieser Eigenschaft durch Unterklassen zu erzwingen. Hier ist ein Stück Code zu erklären, was ich sage:

enum DinosaurDiet //The enumeration for the types of diet 
{ 
    Carnivore, 
    Herbivore 
} 

abstract class Dinosaur //abstract meaning it can't be instanciated, and only serves as a superclass 
{ 
    public abstract DinosaurDiet Diet { get; } 
} 

class TRex : Dinosaur 
{ 
    public override DinosaurDiet Diet { get { return DinosaurDiet.Carnivore; } } 
} 

class Triceratop : Dinosaur 
{ 
    public override DinosaurDiet Diet { get { return DinosaurDiet.Herbivore; } } 
} 

class Allosaurus : Dinosaur 
{ 
    public override DinosaurDiet Diet { get { return DinosaurDiet.Carnivore; } } 
} 

Sobald Sie alles haben, können Sie eine Liste von ihnen machen und erhalten sie einen Index verwenden. Hier ist, wie:

List<Dinosaur> dinos = new List<Dinosaur>(); 

dinos.Add(new TRex()); 
dinos.Add(new Triceratop()); 
dinos.Add(new Allosaurus()); 

//Get the 2nd dinosaur from the list (0-based) 
int index = 1; 
Dinosaur d = dinos[index]; 

Stellen Sie sicher, index >= 0 && index < dinos.Count zu testen, eine Ausnahme zu vermeiden, wenn sie versuchen, ein Element in einem Out-of-gebundenen Index zu erhalten.

Verwandte Themen