簡體   English   中英

將文本框轉換為整數,從數組中獲取字符串

[英]Converting Textbox to Integer, Taking String from Array

我試圖將用戶輸入從文本框轉換為整數(在C#中),然后從具有該整數索引的數組中輸出一個值。 這是我的代碼的一小部分:

 public Form1()
{
 InitializeComponent();
        string[] Cmaj = new string [7];
            Cmaj[1] = "C";
            Cmaj[2] = "D";
            Cmaj[3] = "E";
            Cmaj[4] = "F";
            Cmaj[5] = "G";
            Cmaj[6] = "A";
            Cmaj[7] = "B";


       int roman = int.Parse(textBox3.Text);
       textBox4.Text = Cmaj[roman];

}

但是每次運行此命令時,都會出現關於“ int roman = int.Parse(textBox3.Text);”的錯誤。 (下面列出)。 我最初使用的是Convert.ToInt32而不是int.Parse,但是我看到了關於此主題的另一個問題,據說使用解析而不是轉換。 但是,這並沒有太大變化。 我該怎么辦?

錯誤:mscorlib.dll中發生了'System.FormatException'類型的未處理異常

附加信息:輸入字符串的格式不正確。

謝謝。

您在組件的構造函數中。 因此,文本可能為空並導致異常。

可能您想在諸如文本更改或按鈕單擊之類的事件上添加解析邏輯。

因此,從表單構建器添加事件處理程序,而不是將邏輯移到該方法中。

為了更好地理解每個方法調用的時間,建議您在每個方法的第一個{處添加一個斷點,然后可以遵循事件流。

管理錯誤是一個好主意:您可以使用try ... catch進行包裝,也可以使用需要out變量的int.TryParse。

使用不同的方式

  1. Convert.ToInt32(string);
  2. int val = 0; Int32.TryParse(string, out val );

暫無
暫無

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

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