Wie definieren Sie get-und set-für ein array von Daten-Mitglied?
Ich mache eine Klasse Customer
hat die folgenden Mitglieder-Daten und Eigenschaften:
private string customerName;
private double[] totalPurchasesLastThreeDays; //array of 3 elements that will hold the totals of how much the customer purchased for the past three days i.e. element[0] = 100, element[1] = 50, element[2] = 250
public string CustomerName
{
get { return customerName; }
set { customerName = value; }
}
public double[] TotalPurchasesLastThreeDays
{
?
}
Wie definiere ich die get-und set-für die array-Daten-Mitglied?
Das genaue die gleiche Weise.
Es klingt komisch, zu mir zu gehören Einkäufe als Teil der Customer-Klasse selbst.
Es klingt komisch, zu mir zu gehören Einkäufe als Teil der Customer-Klasse selbst.
InformationsquelleAutor Bob | 2012-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie einen auto-Eigenschaft:
Oder wenn Sie wollen:
Und dann im Konstruktor, können Sie einige Standard-Werte:
InformationsquelleAutor Jason Evans
Wollen Sie eine indexer?
Weil sonst die Frage klingt ein wenig komisch, da Sie bereits umgesetzt werden, eine Eigenschaft in Ihrem code und sind offensichtlich in der Lage, dies zu tun.
Indexer keine Namen haben, weil Sie index das Objekt direkt. So sollten Sie entfernen
Purchases
um Ihren code zu kompilieren. In der Tat, Indexer arbeiten wie diese:myCustomer[index]
, nicht in dieser Art:myCustomer.Purchases[index]
Fühlen Sie sich frei zu Bearbeiten. Ich habe zum nachschlagen der syntax jedes mal sowieso.
Was also, wenn wir zwei oder mehr arrays und müssen diese für alle von Ihnen?
InformationsquelleAutor Joey
Vielleicht Fragen Sie sich diese Frage, weil Sie denken, dass die Zuweisung an das array ist anders als eine normale variable?
In diesem Fall, müssen Sie feststellen, dass, wenn Sie anrufen
TotalPurchasesLastThreeDays[3] = 14.0
Sie sind tatsächlich mit Hilfe der getter-und nicht den setter. Der setter wird benutzt, um den array selbst und nicht die Werte, die es enthält. Also die Kodierung der getter-und setter nicht anders mit einem array als mit jeder anderen Variablen geben.InformationsquelleAutor dee-see
Wenn Sie möchten, dass das array einstellbar von außen sowieso, die am bequemsten ist zu verwenden ein auto-Eigenschaft und entfernen Sie einfach den privaten Bereich haben Sie bereits:
InformationsquelleAutor BrokenGlass
Eine Möglichkeit wäre diese, (ich gehe davon aus, dass der Punkt von diesem ist, so dass das array kann nicht mehr geändert werden, nachdem Sie die Einstellung):
Aber... wollen Sie wirklich tun? Es kann bequemer sein und intuitiv, nur tun die gleiche Sache wie Sie in der Regel.
InformationsquelleAutor Ry-
Wenn Sie dies zulassen möchten:
aber nicht dieses:
Definieren, die nur die getter-d.h. :
Statt, wenn Sie Sie brauchen, um die array-Instanz außerhalb der Klasse, Folgen Sie einfach den anderen Antworten.
InformationsquelleAutor digEmAll
InformationsquelleAutor ionden
InformationsquelleAutor Royi Namir
ändern
variableIndex
zuindex
und es kompiliert in Ordnung. Dies ist eine der wenigen Antworten, die schützt den zugrunde liegenden array geändert werden auf andere Längen, in Fall, dass Sie wollen, um zu erzwingen, hat eine Feste Länge von 3, wurde bereits erwähnt int er Frage.InformationsquelleAutor nidhin