【发布时间】:2013-06-08 07:10:39
【问题描述】:
我正在阅读来自编码恐怖 (http://www.codinghorror.com/blog/2007/02/why-cant-programmers-program.html) 的旧帖子。这仍然是一个非常有趣的阅读,你会注意到很多提供答案的人实际上自己犯了一些小的逻辑错误(大约 30%)。
无论如何,我以为我会给自己一个小挑战,并在这里发现了一堆 fizzbuzz 问题:Alternate FizzBuzz Questions
“反转字符串” - 使用 .net 框架中的所有内置方法,有很多方法可以做到这一点。
我的问题是: 1. 如何使用 LINQ 反转字符串? 2. 你能想出其他有趣的方法在 C# 中反转字符串吗?
这是我想出的两个例子 1.完全从头开始 2. 使用可枚举的逆向方法(1 班轮)
private static string FromScratchSimplified(string input)
{
// constructed reversed char array
char[] reversedCharArray = new char[input.Length];
for (int i = 0; i < input.Length; i++)
{
reversedCharArray[i] = input[input.Length-1-i];
}
// build string from char array
string reversedString = new String(reversedCharArray);
return reversedString;
}
private static string UsingEnumerableReverseMethod(string input)
{
// using Enumerable.Reverse method
return new String(input.Reverse().ToArray());
}
还有吗?
【问题讨论】:
-
这可能更适合 codegolf.stackexchange.com
-
我喜欢这个问题,但它不适用于 StackOverflow。 -1.
-
我不一定同意这篇文章被否决这么多。我认为他只是对如何使用 LINQ 反转字符串感兴趣。 @James Z,请考虑编辑帖子,让它听起来更像是一个问题而不是挑战。
-
当我想反转一个字符串时,我将它发送到一个受证书保护的 Web 服务,然后对结果进行地理复制....
-
这似乎是一个非常严酷的社区。在这里发帖几分钟内投了 4 票,这就像我第二次在这里发帖。