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

C#如何将使用LINQ Where方法的代码改写为非LINQ实现

首先你完全可以借助List实现非LINQ的过滤逻辑,两种可行方案如下:

方案1:借助List实现(逻辑最简洁)

直接遍历原数组,筛选出所有非0元素存入List后直接传给string.Join即可,和原有LINQ写法的输出效果完全一致:

Console.WriteLine("Player Hand : ");
List<int> validHand = new List<int>();
foreach (int num in sClass.playerhand)
{
    if (num != 0)
    {
        validHand.Add(num);
    }
}
Console.WriteLine("{0}", string.Join(", ", validHand));
Console.WriteLine("Bingo Numbers : ");
Console.WriteLine("{0}", string.Join(", ", numbers));

方案2:不借助List,直接拼接输出

如果不想额外引入List类型,也可以直接遍历数组拼接结果字符串,推荐用StringBuilder优化性能,需要先引入命名空间using System.Text;:

Console.WriteLine("Player Hand : ");
StringBuilder handSb = new StringBuilder();
foreach (int num in sClass.playerhand)
{
    if (num != 0)
    {
        // 非第一个元素前面加逗号分隔符
        if (handSb.Length > 0)
        {
            handSb.Append(", ");
        }
        handSb.Append(num);
    }
}
Console.WriteLine(handSb.ToString());
Console.WriteLine("Bingo Numbers : ");
Console.WriteLine("{0}", string.Join(", ", numbers));

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 05:24:03