【发布时间】:2011-04-05 22:06:32
【问题描述】:
在我最近参加的一次采访中,被问到的编程问题是这样的。编写一个函数,将两个字符串作为输入。输出应该是连接的结果。
条件:不应该使用 StringBuffer.Append 或 StringBuilder.Append 或字符串对象进行连接;即他们要我实现 StringBuilder 或 StringBuffer 的 Append 函数如何工作的伪代码实现。
这就是我所做的:
static char[] AppendStrings(string input, string append)
{
char[] inputCharArray = input.ToCharArray();
char[] appendCharArray = append.ToCharArray();
char[] outputCharArray = new char[inputCharArray.Length + appendCharArray.Length];
for (int i = 0; i < inputCharArray.Length; i++)
{
outputCharArray[i] = inputCharArray[i];
}
for (int i = 0; i < appendCharArray.Length; i++)
{
outputCharArray[input.Length + i] = appendCharArray[i];
}
return outputCharArray;
}
虽然这是一个可行的解决方案,但是否有更好的处理方式?
【问题讨论】:
-
你为什么打电话给
ToCharArray()? -
@SLaks:归咎于一个新国家的面试紧张。 :-)