在C#中将二进制数字的字符串表示转换为整数

5

我有一个由8个1和0组成的字符串,中间带有空格,例如“1 0 0 1 1 0 1 0”,我想将其转换为整数。是否有简单的方法可以做到这一点?我感觉使用某种Linq解析可能会做到这一点,但是一旦找到字符,我甚至不知道该怎么处理它们。


只是为了澄清,字符串 1 0 0 1 1 0 1 0 应该被解析为两个四位值:10011010。然后转换为十六进制。正确吗? - Pete M
2个回答

14

你不需要使用 LINQ。

Convert.ToInt*() 函数带有一个可选的 fromBase 参数,该参数必须是 2、8、10 或 16。

Convert.ToInt32("1 0 0 1 1 0 1 0".Replace(" ", ""), 2)

那么这个问题就变得非常简单了哈。非常感谢! - MLavine

1

对于解析十六进制,@SLaks的回答有一个替代方案:

Int32.Parse(hexString, System.Globalization.NumberStyles.HexNumber);

虽然没有二进制的等价物,但他的回答更适合一般用途。


我错了。删除了之前的评论。 - Tilak

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接