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

Unity自动化框架下如何将Dictionary<string,string>转为二维字符串数组

Dictionary<string, string>转二维字符串数组实现方案

核心逻辑

你存储用例结果的字典每个键值对刚好对应HTML表格的一行数据,再加上可选的表头行就能直接拼成符合要求的二维数组。

实现代码

版本1:输出交错数组string[][](大部分C#表格生成工具默认支持的类型)

using System.Collections.Generic;

public string[][] ConvertCaseResultTo2DArray(Dictionary<string, string> caseResultDict)
{
    // 数组行数 = 1行表头 + 所有测试用例行数
    string[][] resultArray = new string[caseResultDict.Count + 1][];
    // 填充表头
    resultArray[0] = new string[] { "用例名称", "执行结果" };
    
    int rowIndex = 1;
    foreach (var kvp in caseResultDict)
    {
        resultArray[rowIndex] = new string[] { kvp.Key, kvp.Value };
        rowIndex++;
    }
    return resultArray;
}

版本2:输出矩形二维数组string[,](适配部分要求严格的工具)

using System.Collections.Generic;

public string[,] ConvertCaseResultTo2DArray(Dictionary<string, string> caseResultDict)
{
    int rowCount = caseResultDict.Count + 1;
    const int colCount = 2;
    string[,] resultArray = new string[rowCount, colCount];
    // 填充表头
    resultArray[0, 0] = "用例名称";
    resultArray[0, 1] = "执行结果";
    
    int rowIndex = 1;
    foreach (var kvp in caseResultDict)
    {
        resultArray[rowIndex, 0] = kvp.Key;
        resultArray[rowIndex, 1] = kvp.Value;
        rowIndex++;
    }
    return resultArray;
}

可选优化

如果需要生成的HTML报告可以直接区分用例执行状态,可以在填充数组时给结果包裹HTML样式标签,示例:

// 替换原填充值的逻辑即可
string resultText = kvp.Value == "pass" ? $"<span style='color:green'>通过</span>" : $"<span style='color:red'>失败</span>";
resultArray[rowIndex][1] = resultText;

注意事项

  • 若不需要表头,直接删除表头填充逻辑,将数组行数改为caseResultDict.Count,遍历起始索引改为0即可
  • 代码完全兼容Unity的Mono/.NET运行环境,不需要引入额外第三方依赖

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 15:18:01