簡體   English   中英

如何為數組添加附加值?

[英]How to add additional value to an array?

我當前正在創建一個程序,只要該特定用戶有足夠的資金,該用戶就可以使用打印機。

我當前遇到的問題是,如果用戶選擇使用彩色打印而不是黑白打印,那么每張紙的價格都會上漲。

如何為現有數組增加價值?

這是我的代碼...

printers[0] = new Printer("printer1", 0.10M);
            printers[1] = new Printer("printer2", 0.08M);
            printers[2] = new Printer("printer3", 0.05M);
            printers[3] = new Printer("printer4", 0.15);
            printers[4] = new Printer("printer5", 0.09M);

            foreach (Printer r in mPrinters)
            {
                if (printer != null)
                    printerCombo.Items.Add(r.getName());
            }

從技術上講,您可以調整數組大小

 Array.Resize(ref printers, printers.Length + 1);

 printers[printers.Length - 1] = new Printer("printer6", 0.25M);

但是,更好的方法是將集合類型更改為:將數組更改為List<T>

 List<Printer> printers = new List<Printer>() {
   new Printer("printer1", 0.10M),
   new Printer("printer2", 0.08M),
   new Printer("printer3", 0.05M),
   new Printer("printer4", 0.15),
   new Printer("printer5", 0.09M), }; 

 ...

 printers.Add(new Printer("printer6", 0.25M));

數組具有固定的大小-創建大小為10的數組后,不能再添加一個元素(使大小為11)。

使用List<Printer>

List<Printer> printers = new List<Printer>();
printers.Add(new Printer("printer2", 0.08M));
//add all items

您也可以按索引訪問元素:

var element = printers[0];

使用List您可以更改其大小,添加和刪除元素。

數組是固定長度的。 您需要將值復制到新數組中,或使用List,List <>或ArraryList。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM