我收到一串8(可以是'。'或' 0'或' 1'在任何位置) 示例:
我得到了这个非常直接的循环:
bool[] aBool= new bool[8];
for (int i = 0; i <= _input.Length - 1; i++)
{
switch (_input[i])
{
case zero:
aBool[i] = false;
break;
case one:
aBool[i] = true;
break;
case dot:
aBool[i] = null;
break;
default:
break;
}
}
return aBool;
返回abool
如何在LINQ中转换它?
我为一个只有0或1的字符串和LINQ:
创建了一个但是用点......
由于
答案 0 :(得分:5)
input.Select(c => c == '.' ? (bool?)null : c == '1').ToArray();
答案 1 :(得分:2)
您可以尝试使用简单的Select
和ToArray
:
string _input = ".0111000";
// Since you allow null, you have to switch to Nullable<bool> - bool?
bool?[] aBool = _input
.Select(c =>
c == '1' ? (bool?) true
: c == '0' ? (bool?) false
: null)
.ToArray();