0

这是一个后续问题Design issues and implementing Enumerable.AsEnumerable<FarPoint.Win.Spread.Row>

我已将我的 farpoint 行转换为 2 d 对象数组,如下所示:

object[,] nthRow = fpSpread2.ActiveSheet.GetArray(e.Row, e.Column, 1, FarPointSpread1.ActiveSheet.ColumnCount);

我尝试将其转换为字符串,以便我可以应用 Linq,但在运行时出现以下错误:

IEnumerator<string> narry = (IEnumerator<string>)nthRow.GetEnumerator();

无法将“ArrayEnumerator”类型的对象转换为“System.Collections.Generic.IEnumerator`1[System.String]”类型。

我该如何解决这个问题?

4

1 回答 1

2

即使对于多维数组,您也可以调用Cast<T>它。

using System.Linq;
...
nthRow.Cast<string>().GetEnumerator()    // returns IEnumerator<string>

但是数组中的每个元素实际上都应该是 type string。如果你想做格式化之类ToString()的,你可以先将它们转换成object然后调用Select<T>.

于 2013-12-02T10:55:20.240 回答