gpt4 book ai didi

c# - 如何将 0 和 1 的字符串转换为 bool 数组

转载 作者:太空狗 更新时间:2023-10-29 20:09:20 25 4
gpt4 key购买 nike

基本上,标题说明了我想做什么。

我有一个字符串,如下所示。

1 0 1 0 1
0 0 0 0 0
1 0 0 0 1
0 0 0 0 0
1 0 1 0 1

我想将其转换为二维 bool 数组(显然,0 -> false1 -> true)。我当前的方法是删除非换行空白,然后遍历字符串的行。

这让我需要将诸如 10101 的字符串转换为 true, false, true, false, true 的 bool 数组。现在,我希望有预先存在的方法来进行这种转换——使用 Java,我很确定它可以使用 streams API 来完成,但不幸的是,我不是那样还熟悉 C#。


因此,我的问题是:是否存在以紧凑方式进行此转换的现有方法?还是我必须手动遍历字符串并对每个字符进行 == 0/==1 比较?

最佳答案

单字符串

如果您有一个类似于“10101”的字符串,您可以使用 LINQ 将其转换为位数组。

string input = "10101";
bool[] flags = input.Select( c => c == '1' ).ToArray();

字符串数组

LINQ 在处理二维数组时表现不佳,但在处理锯齿状数组时效果很好。如果 bool[][] 可以,则此解决方案应该有效:

string[] input = { "10101","01010" };

bool[][] flags = input.Select
(
s => s.Select
(
c => c == '1'
)
.ToArray()
)
.ToArray();

关于c# - 如何将 0 和 1 的字符串转换为 bool 数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50439631/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com