是否可以使用C#的运算符增加/减少DataRow中的值?

时间:2016-10-10 18:25:09

标签: c#

看起来只能通过说:

来增加值
DataRow someRow = GetRow();
someRow[0] = someRow[0] + 10;

有没有办法在C#中执行此操作?我似乎找不到任何东西......我假设这是因为DataRow.Item会返回一个对象。

DataRow someRow = GetRow();
someRow[0] += 10;
someRow[0] -= 10;
someRow[0] *= 5;

2 个答案:

答案 0 :(得分:2)

  

有没有办法在C#中执行此操作?

不,您首先要将someRow[0]转换或转换为相应的类型,然后您可以使用加法,乘法等。

以下情况会导致编译错误:

someRow[0] = someRow[0] + 10;

因为someRow[0]的类型是Object,而10是整数文字。

正确的方法如下:

someRow[0] = (int)someRow[0] + 10;

答案 1 :(得分:1)

或者你可以在c#中使用TryParse方法,并检查返回的对象是否实际上是一个整数,然后执行所需的操作。

像:

int temp;
Int64.TryParse((String)someRow[0], out temp);
someRow[0] = temp + 10;

您可以通过简单地转换它来将onject转换为int:(int)someRow [0]或使用ConvertTo方法,但上面最不容易出错。