SLa*_*aks 70
该Convert.ToInt32方法具有接受基本参数的重载.
Convert.ToInt32("1001101", 2).ToString();
看看这个非常相似的问题但是处理十六进制如何在C#中转换十六进制和十进制之间的数字?
Convert.ToInt64(value, 2)
如果您采用手动方式而不是使用内置 C# 库,则可以使用以下方法:
static int BinaryToDec(string input)
{
    char[] array = input.ToCharArray();
    // Reverse since 16-8-4-2-1 not 1-2-4-8-16. 
    Array.Reverse(array);
    /*
     * [0] = 1
     * [1] = 2
     * [2] = 4
     * etc
     */
    int sum = 0; 
    for(int i = 0; i < array.Length; i++)
    {
        if (array[i] == '1')
        {
            // Method uses raising 2 to the power of the index. 
            if (i == 0)
            {
                sum += 1;
            }
            else
            {
                sum += (int)Math.Pow(2, i);
            }
        }
    }
    return sum;
}