【发布时间】:2015-03-30 13:47:28
【问题描述】:
我想将我的文本转换成二进制并用一些值异或,但我得到一个错误:
System.InvalidCastException:无法转换类型的对象 'System.Text.StringBuilder' 输入 'System.IConvertible'。
我的代码是:
public static string StringToBinary(string data)
{
StringBuilder sb = new StringBuilder();
foreach (char c in data.ToCharArray())
{
sb.Append(Convert.ToString(c, 2).PadLeft(8, '0'));
}
var abc = Convert.ToInt32(sb);
var k = abc ^ 210;
return k.ToString();
}
看起来我无法将二进制转换为 int。还有其他方法可以做到这一点吗?
【问题讨论】:
-
究竟在哪一行?
-
其他人已正确回答以获得转换的值。发生异常是因为
StringBuilder不是string。您可以使用sb.ToString()来获取您的字符串值,但正如其他人所说,这不是必需的。 -
Convert.ToInt32(object)要求参数可转换为 Int32。 StringBuilder 不是。
标签: c#