作业帮 > 综合 > 作业

关于集合问题 C#高手请进

来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/15 03:51:29
关于集合问题 C#高手请进
17.请编一个函数fun(char*s),该函数的功能是把字符串中的内容逆置.
例如:字符串中原有的字符串为abcdefg,则调用该函数后,串中的内容为gfedcba.
一楼的老师用的是C语言,那么使用C#怎么做呢?用Array.Reverse();不好吗?
c# 实现字符串倒序的n 种写法
最简洁就是linq的写法,推荐
// string concatenation with for loop
public string ReverseA(string text)
{
char[] cArray = text.ToCharArray();
string reverse = String.Empty;
for (int i = cArray.Length - 1; i > -1; i--)
{
reverse += cArray[i];
}
return reverse;
}
// Array.Reverse function
public string ReverseB(string text)
{
char[] charArray = text.ToCharArray();
Array.Reverse(charArray);
return new string(charArray);
}
// push/pop Stack
public string ReverseC(string text)
{
Stack resultStack = new Stack();
foreach (char c in text)
{
resultStack.Push(c);
}
StringBuilder sb = new StringBuilder();
while (resultStack.Count > 0)
{
sb.Append(resultStack.Pop());
}
return sb.ToString();
}
// LINQ
public string ReverseD(string text)
{
return new string(text.ToCharArray().Reverse().ToArray());
}
// StringBuilder
public string ReverseE(string text)
{
char[] cArray = text.ToCharArray();
StringBuilder reverse = new StringBuilder();
for (int i = cArray.Length - 1; i > -1; i--)
{
reverse.Append(cArray[i]);
}
return reverse.ToString();
}