簡體   English   中英

檢查列表中的項目並做出決定

[英]checking items in a list and take a decision

我想在Windows窗體中構建一個程序,用戶可以在其中按按鈕來創建披薩。

我的問題是,當用戶多次按下某個成分時,列表只會增加。 我嘗試了各種方法,但它們似乎無效。

我已經看到了一種使用for循環檢查列表中單個項目的解決方案,但是我將不得不實施19次,但這並不是真正有效的方法(每個按鈕一次)

string check = "Thin Base";
        if (My_Pizza.Contains(check))
        {
            My_Pizza.Items.Remove("ThinBase");
            My_Pizza.Items.Add("Thin Base");
        }

在此處輸入圖片說明

您有“ ThinBase”和“ Thin Base”。 不一樣的東西。

此外,如果列表中已經有一項,則無需執行任何操作。 只需將支票翻轉

string check = "Thin Base";
if (!My_Pizza.Items.Contains(check))
{
    My_Pizza.Items.Add(check);
}

通常的想法不是對字符串值進行硬編碼,而是創建可重復使用的方法來滿足您的需要:檢查列表中是否已存在某些值,如果沒有,則將該項目添加到列表中。 這將幫助您避免重復代碼。

在按鈕事件處理程序中,您只需調用此方法並提供字符串值作為參數即可。 我不確定您如何精確地處理按鈕單擊,但是我建議再次創建單個可重用方法,並從button.Text屬性獲取字符串值。

這是代碼示例,供您演示該想法。

    private void OnButtonClick(object sender, EventArgs e)
    {
        Button clickedButton = (Button) sender;
        if (clickedButton != null)
        {
            string buttonContent = clickedButton.Text;
            CheckAndAdd(buttonContent);
        }
    }

    private void CheckAndAdd(string valueToCheck)
    {
        if (!My_Pizza.Items.Contains(valueToCheck))
        {
            My_Pizza.Items.Add(valueToCheck);
        }
    }

暫無
暫無

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

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