是否可以使用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# 's操作符在DataRow中增加/减少一个值?

有没有办法在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方法,但上面的方法最不容易出错。