c# – 如何将0和1的字符串转换为布尔数组
发布时间:2020-12-15 07:54:21 所属栏目:百科 来源:网络整理
导读:基本上,标题说明了我想做的事情. 我有一个如下的字符串. 1 0 1 0 10 0 0 0 01 0 0 0 10 0 0 0 01 0 1 0 1 我想将其转换为二维布尔数组(显然,0 – false和1 – true).我目前的方法是删除非linebreak-whitespace,然后迭代字符串的行. 这使我将诸如10101之类的
基本上,标题说明了我想做的事情.
我有一个如下的字符串. 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 我想将其转换为二维布尔数组(显然,0 – > false和1 – > true).我目前的方法是删除非linebreak-whitespace,然后迭代字符串的行. 这使我将诸如10101之类的字符串转换为true,false,true,true的布尔数组.现在,我希望有预先存在的方法来进行这种转换 – 使用Java,我很确定它可以使用流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(); (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |