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

C#如何实现单个方法返回N个IEnumerable<bool>类型值的需求

C# 返回指定数量布尔值集合实现方案

现有代码问题说明

  • 接口IBoolS不需要写方法实现,普通接口仅定义方法签名契约即可
  • Generator类中的ValueToGenerate应为公共属性,你当前写的是私有字段不符合要求

1. 修正后的IBoolS.cs代码

public interface IBoolS
{
    // 仅定义方法签名,接口成员默认public无需额外标注
    IEnumerable<bool> GetBools(int N);
}

2. 修正后的Generator.cs代码

public class Generator : IBoolS
{
    // 符合要求的公共布尔属性
    public bool ValueToGenerate { get; set; }

    public IEnumerable<bool> GetBools(int N)
    {
        // 入参合法性校验
        if (N < 0)
            throw new ArgumentOutOfRangeException(nameof(N), "参数N不能为负数");

        // 迭代返回N个指定布尔值
        for (int i = 0; i < N; i++)
        {
            yield return ValueToGenerate;
        }
        
        // 也可以用系统封装方法替代上述循环,效果完全一致
        // return Enumerable.Repeat(ValueToGenerate, N);
    }
}

调用测试示例

// 初始化生成器,指定要生成的布尔值为false
var generator = new Generator { ValueToGenerate = false };
// 生成3个false的集合
var result = generator.GetBools(3);
// 遍历输出结果
foreach (var item in result)
{
    Console.WriteLine(item);
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.30 09:45:06