Derzeit mit einem Problem zu kämpfen. Ich habe 30 Objekte in einem Array. Daten [], in jedem Objekt gibt es 24 Stunden. "Hour00", "Hour01" und so weiter. Ich möchte diese Stunden durchgehen. if (data [i] .Hour00> irgendwas) Aber es scheint, als könnte ich das nicht einfach erhöhen. Ich habe versucht, mit dem Code unten, aber es erlaubt mir nicht, die Zeichenfolge "b" zu verwenden, um zu definieren, welche der Stunden, die ich extrahieren möchte.Verwendung der Zeichenfolge, um Objektwert innerhalb eines Arrays auszuwählen
for(int k = 0; k < 24; k++)
{
string b = "Hour00";
if(data[i].b > 20){
*Something happens*
}
auch versucht:
for(int k = 0; k < 24; k++)
{
if(data[i].Hour(k) > 20){
*Something happens*
}
Können Sie _edit_ Ihre Frage, um uns die Definition von 'Daten' zu zeigen? Was ist das für ein Array von **? –
Ich bin mir nicht sicher, ob ich das vollständig verstehe, aber klingt, als wäre es besser, eine Wörterbuchstruktur zu haben, in der der Schlüssel 'Hour00',' Hour01' ist ... und der Wert ist ein int. Dann können Sie das viel einfacher durchlaufen, als alle Eigenschaften durchzugehen und den Variablennamen dynamisch hinzuzufügen. – keyboardP
Dayum ... das ist ein wirklich schlechtes Verständnis dafür, wie C# funktioniert (und die meisten Sprachen) ... aber ich schlage vor, dass du dir "C# Reflection" anschaust – musefan