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

转换bool[]->“false,true,true,false”的整洁代码

  •  10
  • AndiDog  · 技术社区  · 14 年前

    如何使用尽可能少的代码行将布尔数组转换为“false,true,true,false”这样的字符串?

    ", ".join(map(str, [False, True, True, False]))
    

    在C#, string.Join

    那么,在C#中做同样的事情的短方法是什么呢?

    8 回复  |  直到 12 年前
        1
  •  27
  •   Darin Dimitrov    14 年前
    var array = new[] { true, false, false };
    var result = string.Join(", ", array.Select(b => b.ToString()).ToArray());
    Console.WriteLine(result);
    
        2
  •  4
  •   James    14 年前

    怎么样:

    String.Join(", ", new List<Boolean>() { true, false, false, true }.ConvertAll(x => x.ToString()).ToArray())
    
        3
  •  4
  •   Jordão    14 年前
    arrayOfBools.Select(x => x.ToString()).Aggregate((x, y) => x + ", " + y)
    
        4
  •  4
  •   ulrichb    12 年前

    如果您正在使用 ,下面一行就足够了,因为 String.Join<T> 内部调用 ToString() -每个项目的方法。

    Console.WriteLine(string.Join(", ", new[] { false, true, true, false }));
    
    >>>> False, True, True, False
    
        5
  •  2
  •   mythz    14 年前
    var boolStrings = string.Join(",", new List<bool> { false, true, true, false }
          .ConvertAll(x => x.ToString()).ToArray());
    
        6
  •  1
  •   Islam Yahiatene    14 年前
     var str = string.Join(", ", new List<Boolean>() {false, true, false}.ToArray());
     Console.WriteLine(str.ToString());
    
        7
  •  1
  •   John Saunders    14 年前

    类似于

    var s = from item in blnArray select item.Tostring();
    

    然后使用可枚举数填充字符串数组?

    不是真的测试这个-这只是我可能会接近它,如果我被要求看它。。。

        8
  •  1
  •   Joel Coehoorn    14 年前
    var bools = new bool[] {false, true, true, false};
    var strings = bools.Aggregate((x,y) => x.ToString()+","+y.ToString());