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

如何实现C#中两个字符串数组对应元素并排打印输出?

C# 数组元素配对输出解决方案

问题场景

现有C#代码如下:

public static void CategoryX(string categories)
{
    string[] codes = { "A", "B", "C", "D", "E" };
    string[] names = { "FIRST LETTER", "SECOND LETTER", "THIRD LETTER", "FOURTH LETTER", "FIFTH LETTER" };
}

期望输出格式:

A FIRST LETTER
B SECOND LETTER
C THIRD LETTER
D FOURTH LETTER
E FIFTH LETTER

尝试过带GroupBy的for循环、布尔比较数组、创建第三个数组等方法均未成功,寻求可行方案。

可行解决方案

方法1:基础for循环

直接通过索引遍历两个数组,按格式拼接输出,前提是两个数组长度一致:

public static void CategoryX(string categories)
{
    string[] codes = { "A", "B", "C", "D", "E" };
    string[] names = { "FIRST LETTER", "SECOND LETTER", "THIRD LETTER", "FOURTH LETTER", "FIFTH LETTER" };

    // 先校验数组长度,避免索引越界
    if (codes.Length != names.Length)
        return;

    for (int i = 0; i < codes.Length; i++)
    {
        Console.WriteLine($"{codes[i]} {names[i]}");
    }
}

方法2:使用LINQ的Zip方法

如果项目引入了LINQ命名空间,可以用Zip方法直接将两个数组的元素配对,代码更简洁:

using System.Linq; // 需引入此命名空间

public static void CategoryX(string categories)
{
    string[] codes = { "A", "B", "C", "D", "E" };
    string[] names = { "FIRST LETTER", "SECOND LETTER", "THIRD LETTER", "FOURTH LETTER", "FIFTH LETTER" };

    foreach (var pair in codes.Zip(names, (code, name) => $"{code} {name}"))
    {
        Console.WriteLine(pair);
    }
}

注意事项

  • 必须保证两个数组长度完全一致:Zip会以较短数组的长度为准截断结果,for循环则可能触发索引越界异常,建议先做长度校验。
  • 如果需要将结果保存为字符串数组而非直接输出,只需把拼接后的字符串存入新数组即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 21:15:33