jaket-cp
решение 1 от OriginalGriff очень хорошо объясняет ситуацию
и решение 2 от Мацей Лос тоже очень хорошее
и не говоря уже о комментарии PIEBALDconsult "как вам угодно" - приятно :)
Но, возможно, чтобы помочь выяснить, как добраться до решения 1 и 2.
Одна из сложных частей, которую я полагаю, изучая данный язык, заключается в том, чтобы выяснить, какие из слов/битов принадлежат языку, а какие нет.
Таким образом, при расшифровке однострочного текста вам потребуется много гуглить или, возможно, иметь под рукой справочник по языку.
Чтобы упростить однострочный перевод, вы можете попробовать добавить возврат каретки и отступы, чтобы лучше визуализировать.
В случае C# разделите скобками запятую и точку.
//expanded one-liner - something like this
return String.Join(
".",
(
input.Split('.')
.Select( x =>
Convert.ToString(
Int32.Parse(x),
2
)
.PadLeft(8,'0')
)
)
.ToArray()
);
Выполняйте поиск с помощью языка программы однострочного типа-в данном случае C#
Давайте посмотрим, какие результаты поиска google мы можем получить сверху (если вы уже знаете, что они делают - нет необходимости искать):
возвращение с#
оператор return - Справочник по C# | Microsoft Docs[
^]
Строка c#
Класс String (System) | Microsoft Docs[
^]
Строка.Присоединяйтесь к C# или вступить с#
Строка.Метод Соединения (Система) | Microsoft Docs[
^]
вход.Split c# или Split c#
Как это сделать: синтаксический анализ строк с помощью String.Split (Руководство По C#) | Microsoft Docs[
^]
.Выберите( х =&ГТ; в#
c# - возможная цель LINQ select( x => x ) - переполнение стека[
^]
Преобразовать.Метод toString с#
Преобразовать.Метод ToString (System) | Microsoft Docs[
^]
Типа int32.Разбираем с#
Int32.Метод Синтаксического Анализа (System) | Microsoft Docs[
^]
PadLeft с#
Строка.Метод Навесного Лева (Система) | Microsoft Docs[
^]
ToArray() c#
Список<T>.Метод ToArray (System.Коллекции.Общая) | Майкрософт Документы[
^]
Добавьте комментарии к расширенному однострочному тексту - получение информации из поисковых запросов google.
return String.Join(//return a string of Concatenates the elements of a specified array or the members of a collection, using the specified separator between each element or member
".", //using this separator
(
input.Split('.')//creates an array of substrings by splitting the input string based on one or more delimiters - using a separator as '.'
.Select( x => //this is a tricky one - use linq select to parse the values somehow
Convert.ToString(//Converts the specified value to its equivalent string representation
Int32.Parse(x),//Converts the string representation of a number to its 32-bit signed integer equivalent
2//Converts the value of a 32-bit signed integer to its equivalent string representation in a specified base
)
.PadLeft(8,'0')//returns a new string that right-aligns the characters in this instance by padding them on the left with a specified Unicode character, for a specified total length
)
)
.ToArray()//An array containing copies of the elements of the List<T>
);
С этого момента - надеюсь, вы сможете выяснить, какие части можно разбить.
И расширьте до того, что вы могли бы получить в решении 1 и 2.
Вы, наверное, заметили, что я не выделил всех слов.:
- Строку.Присоединяйтесь
- вход.Расщеплять
- Преобразовать.Метод toString
- Типа int32.Разобрать
посмотрите, что вы получите от поиска их разделенных или нет