首页 > 解决方案 > 数据表单元格数学

问题描述

我对整个 C# 非常陌生,非常感谢您在这方面的智慧:我正在制作一个类似游戏的东西,需要为一群人存储并不断更新数据库。

目前我正在尝试创建一个DataTable dt;

添加列dt.Colums.Add("age", typeof(int));

添加行dt.Rows.Add(10);

现在我想动态调整包含 10 到 11 的年龄 int 值的单元格的内容。

我试着dt.Rows[0]["age"] += 1;

但是,我得到以下信息:

错误 CS0266 无法将类型“object”隐式转换为“int”。存在显式转换(您是否缺少演员表?)

我对为什么“单元格”返回一个对象而不是一个 int 感到很困惑。怎么可能直接对单元格的内容进行数学运算?

标签: c#datatable

解决方案


这里 dt.Rows[0]["age"] 是一个对象而不是整数类型,因此运算符 '+=' 不能应用于 'object' 和 'int' 类型的操作数试试这个,

        dt.Rows[0]["age"] = Convert.ToInt16(dt.Rows[0]["age"]) + 1;

推荐阅读