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

如何在不使用列表的情况下从字符串数组生成筛选后的新数组

解决方案

要在不使用List的前提下生成符合要求的新数组,得按两步操作:

  1. 先统计符合条件的元素数量
    数组长度是固定的,必须先遍历原数组,数出长度小于3的字符串总数,才能确定新数组的准确长度。

  2. 填充新数组
    再次遍历原数组,把符合条件的元素逐个放到新数组的对应位置里。

修正后的代码如下:

string[] string_array1 = new string[10] {"Monday", "Tue", "Wed", "Thu", "Fri", "Saturday", "Sunday", "Pizza Day", "Catt", "Garbage Day"};

Console.WriteLine(String.Join(", ", string_array1));

// 第一步:统计符合条件的元素个数
int validCount = 0;
for (int i = 0; i < string_array1.Length; i++)
{
    if (string_array1[i].Length < 3) // 按你要求的「长度小于3」判断,原代码写的是<4,注意区分
    {
        validCount++;
    }
}

// 第二步:初始化新数组并填充元素
string[] string_array2 = new string[validCount];
int newIndex = 0;
for (int i = 0; i < string_array1.Length; i++)
{
    if (string_array1[i].Length < 3)
    {
        string_array2[newIndex] = string_array1[i];
        newIndex++;
    }
}

// 输出结果验证
Console.WriteLine(String.Join(", ", string_array2));

关键提醒

  • 原代码里String[] string_array2 = new String[i];是错误的,初始化数组时i还未定义,必须先拿到准确的符合条件元素数量才能初始化新数组。
  • 如果你实际需求是筛选长度小于4的字符串(和原代码的判断逻辑一致),把两处Length < 3改成Length < 4即可,这样会匹配"Tue"、"Wed"、"Thu"、"Fri"这些元素。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.14 22:46:11