gpt4 book ai didi

c# - 使用 LINQ 将数组对象 [,] 转换为数组

转载 作者:太空宇宙 更新时间:2023-11-03 20:00:23 25 4
gpt4 key购买 nike

我有来自外部系统的信息,这些信息总是以下列格式返回给我:

SAP data

我需要将此信息从对象 [,] 转换为按“|”拆分的数组。我一直在 VB 中使用 LINQ 来获取此信息:

Dim vSAPdataTemp(,) As Object = Local_SAPtableData.Data

Dim vLinq = From TempResult In vSAPdataTemp
Select Value = Array.ConvertAll(TempResult.ToString.Split(RFC_DelimiterChar),
Function(vVal) CObj(vVal.ToString.Trim))

Dim vNewSAPdata() As Object = vLinq.ToArray

但现在我要转向 C# 并且遇到以下错误:

LINQ ERROR

使用此代码时:

var vSAPdataTemp = Local_SAPtableData.Data;

Local_SAPtableData.FreeTable();
fw.gcCleaner();
Local_SAPtableData = null;

var vLinq = (from TempResult in (vSAPdataTemp as Object[,])
select string strValue = Array.ConvertAll(TempResult.Split(stcVariables.strSapRfcDelimiterChar),
vVal => (vVal as object).ToString().Trim()));

var vNewSAPdata = vLinq.ToArray<string>();

此问题有什么(如果有)解决方法?

最佳答案

您很可能必须使用 Cast 调用:

from TempResult in (vSAPdataTemp as object[,]).Cast<object>()
(...)

那是因为 object[,] 实现了非泛型 IEnumerable,它不能很好地与 LINQ 一起工作。 (我不知道为什么它一开始就在 VB.NET 中工作)。

关于c# - 使用 LINQ 将数组对象 [,] 转换为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29176997/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com