【发布时间】:2013-09-11 10:46:43
【问题描述】:
我有以下代码,我希望将其视为单行代码。但是,由于我对 C# 非常陌生,因此我目前不知道如何执行此操作...
代码:
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);
}
对于给您带来的不便,我深表歉意,只是想进一步了解这种漂亮的语言 :)
【问题讨论】:
-
只需将方法中的所有字符放在一行中即可。
-
你有什么理由故意让事情变得不可读?
-
完全不相关,但您可能想了解的另一件事是magic numbers 通常不是一件好事。正如 Save 所示,最好使用字符而不是它们的数值来更好地显示代码的作用。根据经验,任何代码的阅读量都是编写量的十倍以上。因此,您的目标应该始终是编写尽可能清晰易懂的代码,而不是尽可能多地使用巧妙的技巧。你可以在你拥有的东西起作用时进行优化。
-
这个问题可以链接到stackoverflow.com/q/617647
标签: c# encryption rot13