转换bool [] - >的整洁代码“虚假,真实,真实,虚假”

时间:2010-02-16 12:56:24

标签: c# string arrays

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

Python允许我使用以下(非常好和干净):

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

在C#中,string.Join只允许我加入一个字符串数组。

那么在C#中做同样的简短方法是什么?

8 个答案:

答案 0 :(得分:27)

var array = new[] { true, false, false };
var result = string.Join(", ", array.Select(b => b.ToString()).ToArray());
Console.WriteLine(result);

答案 1 :(得分:4)

怎么样:

String.Join(", ", new List<Boolean>() { true, false, false, true }.ConvertAll(x => x.ToString()).ToArray())

答案 2 :(得分:4)

arrayOfBools.Select(x => x.ToString()).Aggregate((x, y) => x + ", " + y)

答案 3 :(得分:3)

如果您使用的是。NET 4 ,则以下行就足够了,因为String.Join<T>内部会为每个项目调用ToString() - 方法。

Console.WriteLine(string.Join(", ", new[] { false, true, true, false }));

>>>> False, True, True, False

答案 4 :(得分:2)

var boolStrings = string.Join(",", new List<bool> { false, true, true, false }
      .ConvertAll(x => x.ToString()).ToArray());

答案 5 :(得分:1)

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

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

实际上没有对此进行过测试 - 如果我被要求查看它,这就是我可以接近它的方式......

答案 6 :(得分:1)

 var str = string.Join(", ", new List<Boolean>() {false, true, false}.ToArray());
 Console.WriteLine(str.ToString());

答案 7 :(得分:1)

var bools = new bool[] {false, true, true, false};
var strings = bools.Aggregate((x,y) => x.ToString()+","+y.ToString());