Нужно переобразовать vbs в c# [требует правки]

180
28 апреля 2018, 15:54
function encode(s)
  for i = 1 to len(s)
    newtxt = mid(s, i, 1)
    newtxt = chr(asc(newtxt) + 3)
    coded = coded + (newtxt)
  next
  encode = coded
end Function

Пример входных и выходных данных

text = "texttexttext"
out = encode(text)
msgbox(out)' на выходе wh{wwh{wwh{w
Answer 1

Для того, чтобы перевести функция с одного языка реализации на другой, необходимо знать что происходит внутри функции.

В данном случае функция encode

  1. проходит по переданной строке,
  2. получает код каждого символа,
  3. увеличивает его на 3
  4. получает символ, по соответствующему коду
  5. собирает новые символы в новую строку, которая и является результатом функции.

Ввиду более широкого инструментария по работе со строками реализации данного алгоритма с помощью C# могут быть различными.

Например, можно воспользоваться циклом либо методом Select для прохода по строке, методом Concat для собирания результирующей строки, а также использовать то, что char - это целочисленный тип, и с ним можно проводить арифметически операции. В итоге можно получить такой вариант:

publiс static string Encode(string text)
{
    return string.Concat(text.Select(c => (char)(c + 3)));
}

Также можно воспользоваться заменой символов с помощью регулярного выражения

publiс static string Encode(string text)
{
    return Regex.Replace(text, ".", m => $"{(char)(m.Value[0]+3)}");
}
READ ALSO
Фильтрация GPS данных

Фильтрация GPS данных

К примеру, на сырых данных GPS'а с телефона (компьютера, да с чего угодно) - я еду где-то по реке, но на самом деле - на мосту через эту реку, в метрах...

198
Запомнить привязанные свойства для CheckedListBox

Запомнить привязанные свойства для CheckedListBox

Код ниже выполняет привязку строк из CheckedListBox1-а к свойствам Value, которые в свою очередь связаны с TextBox-амиПодскажите пожалуйста, как в C# WinForms...

149
как проверить сертификат сайта на c#

как проверить сертификат сайта на c#

есть адрес веб-сайта к примеру https://rustackoverflow

138
Вытягивание текста из другой программы

Вытягивание текста из другой программы

Установлен СофтФон MicroSip, и при поступлении входящего звонка необходимо вытаскивать номер телефонаЧем в этом случае пользоваться?

165