You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#如何将Object类型值转换为int?CS1503报错怎么解决

错误原因

int.Parse() 方法仅支持传入 string 类型参数,你代码中传入的 child.Value 是 object 类型,C# 不支持隐式将 object 转换为 string,因此触发 CS1503 编译错误。

解决方案

你可以根据实际存储的数据类型选择对应处理方式:

  • 若确定 child.Value 本身存储的就是整型数值,未做字符串序列化,直接强转即可:
DataSnapshot snapshot = task.Result;
foreach (DataSnapshot child in snapshot.Children)
{
    if (child.Key == "myAge")
    {
        MyAgeInput.value = (int)child.Value;
    }
}
  • 若 child.Value 存储的是字符串格式的数字,先调用ToString()转为字符串后再解析:
DataSnapshot snapshot = task.Result;
foreach (DataSnapshot child in snapshot.Children)
{
    if (child.Key == "myAge")
    {
        MyAgeInput.value = int.Parse(child.Value.ToString());
    }
}
  • 若需要兼容数值格式异常的场景,避免程序直接崩溃,使用int.TryParse做安全校验:
DataSnapshot snapshot = task.Result;
foreach (DataSnapshot child in snapshot.Children)
{
    if (child.Key == "myAge")
    {
        if (int.TryParse(child.Value.ToString(), out int myAge))
        {
            MyAgeInput.value = myAge;
        }
        else
        {
            // 格式异常时可在此处赋值默认值或做异常处理
            MyAgeInput.value = 0;
        }
    }
}

内容的提问来源于stack exchange,提问作者harptom

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.03 05:39:01