c# - 将 char 数组/字符串转换为 bool 数组

标签 c# arrays string boolean

我们的数据库中有这个字段指示一周中的每一天的真/假标志,如下所示:'1111110'

我需要将此值转换为 boolean 数组。

为此,我编写了以下代码:

char[] freqs = weekdayFrequency.ToCharArray();
bool[] weekdaysEnabled = new bool[]{
    Convert.ToBoolean(int.Parse(freqs[0].ToString())), 
    Convert.ToBoolean(int.Parse(freqs[1].ToString())),
    Convert.ToBoolean(int.Parse(freqs[2].ToString())),
    Convert.ToBoolean(int.Parse(freqs[3].ToString())),
    Convert.ToBoolean(int.Parse(freqs[4].ToString())),
    Convert.ToBoolean(int.Parse(freqs[5].ToString())),
    Convert.ToBoolean(int.Parse(freqs[6].ToString()))
};

我觉得这种方式太笨重了,因为有很多转换。

将这个固定长度的字符串转换为 bool 数组的理想/最干净的方法是什么??

我知道您可以在 for 循环中编写此代码,但一周中的天数永远不会改变,因此我认为这是更高效的方法。

最佳答案

一些 LINQ 可以使这成为一项非常简单的任务:

var weekdaysEnabled = weekdayFrequency.Select(chr => chr == '1').ToArray();

请注意 string已经实现 IEnumerable<char> , 因此您可以直接在其上使用 LINQ 方法。

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

相关文章:

c# - 在这种情况下我可以避免反射(reflection)吗?

java - 字符串引用?

c# - 无法调试 VSIX 项目

c# - 调用 WCF 引用类型变量

java - 哈希表大小设置

java - 尝试创建数组的数组

javascript - 如何在 JavaScript 中编写 String 的替换方法?

python - 如何用单个斜杠替换目录中的多个正斜杠?

c# - User.Identity.GetUserId 是缓存还是每次都从数据库中获取?

Javascript 循环对象数组并返回第一个值