代码之家  ›  专栏  ›  技术社区  ›  DigitalZebra

用特定值初始化运行时值类型数组?

  •  2
  • DigitalZebra  · 技术社区  · 15 年前

    有没有方法可以将以下运行时数组初始化为 true 没有用前臂绕过去?

    声明如下:

    bool[] foo = new bool[someVariable.Count];

    谢谢!

    4 回复  |  直到 15 年前
        1
  •  6
  •   Ani    15 年前
    bool[] foo = Enumerable.Repeat(true, someVariable.Count)
                           .ToArray();
    
        2
  •  2
  •   Deniz Dogan    15 年前
    bool[] bools = (new bool[someVariable.Count]).Select(x => !x).ToArray();
    

    有点开玩笑。有点。几乎。

        3
  •  1
  •   LukeH    15 年前

    是否禁止任何形式的明确循环,或者您只关心避免 foreach ?

    bool[] foo = new bool[someVariable.Count];
    for (int i = 0; i < foo.Length; i++) foo[i] = true;
    
        4
  •  0
  •   codymanix    15 年前
    bool[] foo = new bool[]{true,true,true,...};
    

    这是我所知道的初始化 Array 不涉及创建其他临时对象的默认值以外的某个值。 如果上课就好了 数组 有一些方法,比如fill()或set()。

    如果我错了就纠正我。