那是因为你的第二个参数将基数设置为2,而2不是二进制中的有效数字.
来自MSDN
调用public static uint ToUInt32(string value, int fromBase)将抛出一个FormatException当value包含字符不按指定的基有效数字fromBase.异常消息表示如果值中的第一个字符无效,则没有要转换的数字; 否则,该消息表明该值包含无效的尾随字符.
public static uint ToUInt32(string value, int fromBase)
FormatException
value
fromBase