You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何获取C#中嵌套多层对象结构内的目标字符串值?

C#嵌套对象数组取值方案

你遇到的问题是因为arr[0,0]的编译时类型是object,而非数组类型,所以无法直接使用[]索引。需要先将其转换为对应的数组类型,再访问内部元素,最后转换为字符串。

直接转换方式

如果能确定arr[0,0]肯定是object[]且索引1的元素是字符串,可以用强制转换:

// 先转成object[],再取索引1,最后转成string
string myString = (string)((object[])arr[0,0])[1];

或者用as运算符,转换失败时返回null而非抛出异常:

string myString = ((object[])arr[0,0])[1] as string;

安全检查方式

如果不确定内部结构,建议先做类型和长度检查,避免运行时异常:

string myString = null;
// 先判断arr[0,0]是否为object[]
if (arr[0,0] is object[] innerArray)
{
    // 检查数组长度足够,且元素是字符串
    if (innerArray.Length > 1 && innerArray[1] is string targetStr)
    {
        myString = targetStr;
    }
}

内容的提问来源于stack exchange,提问作者Douar Gwenn

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.14 15:36:12