У меня есть следующий код, который я хотел бы видеть как oneliner. Однако, так как я новичок в C#, я в настоящее время не имею ни малейшего понятия о том, как это сделать ...Можно ли написать ROT13 в одной строке?
Код:
static string ROT13 (string input)
{
if (string.IsNullOrEmpty(input)) return input;
char[] buffer = new char[input.Length];
for (int i = 0; i < input.Length; i++)
{
char c = input[i];
if (c >= 97 && c <= 122)
{
int j = c + 13;
if (j > 122) j -= 26;
buffer[i] = (char)j;
}
else if (c >= 65 && c <= 90)
{
int j = c + 13;
if (j > 90) j -= 26;
buffer[i] = (char)j;
}
else
{
buffer[i] = (char)c;
}
}
return new string(buffer);
}
Я извиняюсь за любые неудобства, просто пытаюсь узнать больше об этом симпатичный язык :)
Просто поместите все символы в свой метод на одной строке. –
Любая причина, по которой вы намеренно делаете вещи нечитаемыми? –
Полностью несвязанный, но еще одна вещь, которую вы, возможно, захотите узнать, - это то, что [магические числа] (http://en.wikipedia.org/wiki/Magic_number_ (программирование) #Unnamed_numerical_constants) обычно не очень хорошо. Как показало Save, лучше использовать символы вместо их числовых значений, чтобы лучше показать, что делает код. Как правило, любой код читается более чем в десять раз больше, чем он написан. Поэтому ваша цель всегда заключалась в том, чтобы писать код как можно более понятным и понятным, а не использовать как можно больше умных трюков. Вы можете оптимизировать, когда у вас есть работы. – Corak