Объясните работу метода Convert.ToString(char, 2)?
Добрый день!
Пишу класс, реализующий шифрование. В этом классе есть строка string char_binary = Convert.ToString(input[i], 2), где input имеет тип string. Этот метод, как я понимаю (и так оно и есть, ибо протестировал), переводит отдельный символ строки в двоичную систему и далее в строку. Вопрос в том, что на msdn я не могу найти подходящую перегрузку этого метода и описание его работы. А если его нет на msdn, то почему тогда этот метод с таким набором аргументов работает? Помогите разобраться.
Вот перегрузка необходимого Вам метода на MSDN: https://msdn.microsoft.com/ru-ru/library/b1kwkfdz(.... Это метод - Convert.ToString (int, int). Он принимает два целых числа и переводит первое в эквивалентное ему строковое представление в указанной системе счисления. В Вашем случае символ неявно преобразуется к числовому значению, поэтому метод работает с таким набором аргументов. А перегрузки данного метода, принимающего символ и число, действительно нет.
Это механизм неявного (автоматического) преобразования.
На самом деле символьный тип char в C# (.Net) является по размеру 2х-байтовым беззнаковым типом ushort. У каждого символа char есть своё соответствующее целочисленное значение, то есть код в таблице ASCII, и в C# существует автоматическое преобразование символов в целочисленные значения, поэтому в данном случае при использовании вместо int символа будет возвращён его код в ASCII.