是否可以使用c# 's操作符在DataRow中增加/减少一个值?
本文关键字:一个 增加 可以使 DataRow 操作符 是否 | 更新日期: 2023-09-27 18:12:20
似乎只有这样才能增加一个值:
DataRow someRow = GetRow();
someRow[0] = someRow[0] + 10;
有没有办法在c#中执行这个操作?我似乎找不到任何东西……我假设这是因为DataRow。Item返回一个对象。
DataRow someRow = GetRow();
someRow[0] += 10;
someRow[0] -= 10;
someRow[0] *= 5;
有没有办法在c#中执行这个操作?
不,您必须首先将someRow[0]
强制转换或转换为相应的类型,然后才能使用加法,乘法等。
以下操作将导致编译错误:
someRow[0] = someRow[0] + 10;
因为someRow[0]
的类型是Object
,而10是一个整数字面值。
正确的方法是这样的:
someRow[0] = (int)someRow[0] + 10;
或者您可以使用c#中的TryParse方法,检查返回的对象是否实际上是整数,然后执行所需的操作。
:
int temp;
Int64.TryParse((String)someRow[0], out temp);
someRow[0] = temp + 10;
可以通过简单地将对象转换为int: (int)someRow[0]或使用ConvertTo方法,但上面的方法最不容易出错。