为了账号安全,请及时绑定邮箱和手机立即绑定

将文本框转换为整数,从数组中获取字符串

将文本框转换为整数,从数组中获取字符串

C#
天涯尽头无女友 2023-08-13 16:04:38
我试图将用户输入从文本框转换为整数(在 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”类型的未处理异常附加信息:输入字符串的格式不正确。
查看完整描述

2 回答

?
白衣非少年

TA贡献1155条经验 获得超0个赞

您位于组件的构造函数中。因此文本可能为空并导致异常。

您可能想在文本更改或单击按钮等事件上添加解析逻辑。

因此,从表单生成器添加事件处理程序,然后将逻辑移至该方法中。

为了更好地理解每个方法何时被调用,我建议您在每个方法的第一个方法上添加一个断点{,然后您可以跟踪事件流。

管理错误是一个好主意:您可以用 try...catch 包装或使用需要 out 变量的 int.TryParse 。


查看完整回答
反对 回复 2023-08-13
?
慕田峪4524236

TA贡献1875条经验 获得超5个赞

使用不同的方式

  1. Convert.ToInt32(string);

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


查看完整回答
反对 回复 2023-08-13
  • 2 回答
  • 0 关注
  • 71 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信