簡體   English   中英

如何判斷二維數組中的值是否為 0 (C#)

[英]How can I tell if a value is 0 in a 2D array (C#)

編碼新手,我正在為必須包含每個項目的庫存水平的商店創建一個 pos,並且當一個項目缺貨時,它應該不允許用戶選擇該項目。 它從二維數組中讀取庫存水平。 我有它,所以當數組中的一個項目為 0 時,它會告訴用戶,但它沒有指定哪個項目。 我怎樣才能找到該特定項目是否缺貨。

private void AddCartButton_Click_1(object sender, EventArgs e)
{
    int ShirtIndex = 0, SizeIndex = 0;
    decimal ShirtCost = 0m;

    if (ShirtListBox.SelectedIndex != -1)
    {
        if (SizeListBox.SelectedIndex != -1)
        {
            if (ShirtStock[ShirtIndex, SizeIndex] != 0) 
            {
                ShirtIndex = ShirtListBox.SelectedIndex;
                SizeIndex = SizeListBox.SelectedIndex;
                Shirt = ShirtsArray[ShirtIndex];
                ShirtCost = ShirtPrice[ShirtIndex];
                SizeOfItem = Sizes[SizeIndex];
                CartListBox.Items.Add(Shirt + " - " + SizeOfItem + " = " + ShirtCost);
                PriceListBox.Items.Add(ShirtCost);
                TotalCost = TotalCost + ShirtCost;
                TotalTextBox.Text = TotalCost.ToString();

                //Taking away stock 
                ShirtStock[ShirtIndex, SizeIndex] = ShirtStock[ShirtIndex, SizeIndex] - 1;
                // Write to stock File Method
                WritingToStock();
            }
            else
            {
                MessageBox.Show("NO Stock");
            }

您正在正確地索引到數組中。 問題是您的索引始終為 0,這就是您將它們初始化為局部變量的方式。 我認為您的意思是使用用戶輸入中的索引。

所以而不是

if (ShirtStock[ShirtIndex, SizeIndex] != 0) 

嘗試

if (ShirtStock[ShirtListBox.SelectedIndex, SizeListBox.SelectedIndex] != 0) 

我從來沒有意識到代碼只是在看 [0,0] 因為我初始化了它來做到這一點。 所以而不是

int ShirtIndex = 0, SizeIndex = 0;

就是現在

int ShirtIndex = ShirtListBox.SelectedIndex, SizeIndex = SizeListBox.SelectedIndex;

謝謝埃克!

暫無
暫無

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

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