【发布时间】:2022-01-19 05:41:09
【问题描述】:
我有一个在单击某个元素时起作用的事件处理程序。在转int类型之前先把object转成string类型对吗?
这是我的代码:
private void selectLanguage(object sender, EventArgs e)
{
int language = Convert.ToInt32((sender as PictureBox).Tag.ToString());
}
【问题讨论】:
-
如果标签元素只有整数值,则可以直接将其转换为int。
-
如果
Tag不是有效的int,我建议您使用Int32.TryParse Method 来提供帮助。此外,我假设发布的代码只是一个示例,因为发布的代码实际上并没有对Tagsint值做任何事情。 -
标签值有对象类型元素
-
我想知道是否可以不使用 ToString() 方法
-
它将在编译时工作 - 但在运行时您的
Tag属性可能为 null 或者它可能是 int 或 string 以外的类型。接受@JohnG 的建议并使用 TryParse 并添加错误处理以处理解析未导致 int 的情况
标签: c# type-conversion