[英]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.