簡體   English   中英

將int var轉換為具有未分配的局部變量錯誤的字符串var

[英]converting int var to string var with unassigned local variable error

我正在嘗試將int var轉換為在.txt文件中使用的字符串var。 我提出了“未分配的局部變量錯誤”。 我通過其他問題看過,但是我看不到我想念的東西。 之前我已經能夠將int var轉換為字符串var,但我不確定我要去哪里。 如果您還可以提供解決方案的理論,那將是最有幫助的

        int sbntmsk;
        if (RBSBtn.Checked)
        {
            sbntmsk = 29;

        }
        if (BTSBtn.Checked)
        {
            sbntmsk = 30;
        }

        string subntmsk;
        subntmsk = sbntmsk.ToString();

編譯器無法知道是否會在運行時選中您的復選框,因此它會抱怨,因為變量sbntmsk可能會到達您試圖將其轉換為字符串而未分配值的地步。

要修復消息, sbntmsk使用(或您喜歡的任何默認值)聲明並初始化sbntmsk

int sbntmsk = 0;

您需要提供整數的默認值。 例如,如果兩個按鈕都沒有選中,您期望字符串中包含什么?

您可以只使用字符串嗎?

var sbntmsk = String.Empty;
    if (RBSBtn.Checked)
    {
        sbntmsk = "29";

    }
    if (BTSBtn.Checked)
    {
        sbntmsk = "30";
    }

嘗試使用此方法:

int sbntmsk;
if (RBSBtn.Checked)
{
    sbntmsk = 29;
}
else if (BTSBtn.Checked)   // Notice the ELSE - IF
{
    sbntmsk = 30;
}
else
{
    sbntmsk = 0;  // a default value
}

string subntmsk = String.Empty;   // initialize with empty
subntmsk = sbntmsk.ToString();

由於使用了多個復選框,因此將分配給同一變量,因此無需檢查所有IF塊。 同樣,使用這種方法,您可以在最后定義一個“ ELSE”塊。

希望能幫助到你!

暫無
暫無

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

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