C# 反向单字符串值
我编写了这个扩展函数来反转单个字符串值。我想我可以再短一点,请建议C# 反向单字符串值,c#,asp.net,.net,C#,Asp.net,.net,我编写了这个扩展函数来反转单个字符串值。我想我可以再短一点,请建议 public static string ReverseSingleString(this string value) { string newString = string.Empty; char[] chars = new char[value.Length]; char[] chars2 = new char[value.Length]
public static string ReverseSingleString(this string value)
{
string newString = string.Empty;
char[] chars = new char[value.Length];
char[] chars2 = new char[value.Length];
int j = 0;
foreach (char c in value)
{
chars[j] = c;
j++;
}
j = 0;
for (int i = chars.Length - 1; i >= 0; i--)
{
chars2[j] = chars[i];
newString += chars2[j].ToString();
j++;
}
return newString;
}
下面的分机怎么样
public static class StringExtensions{
public static string ReverseString (this string value)
{
var reversed = string.Join("",value.Reverse());
return reversed;
}
}
没有任何反向功能:
string Reverse(string s)
{
char[] c = new char[s.Length];
for (int i = s.Length-1, j = 0; i >=0 ; i--, j++)
{
c[j] = s[i];
}
return new string(c);
}
显然,您可以将其放在扩展方法中因为它是一个扩展,我不需要关心可读性,我会使用
StringBuilder
:
public static string ReverseSingleString(this string value)
{
StringBuilder sb = new StringBuilder(value.Length);
for(int i = value.Length - 1; i >= 0; i--)
sb.Append(value[i]);
return sb.ToString();
}
你也可以使用这个方法
这个问题似乎离题了,因为它是关于代码审查的。对我来说,听起来像家庭作业的可能重复,可能已经被告知不要使用Reverse():-)不是家庭作业,但请我不要使用Reverse()函数创建自己的:)如果不是家庭作业,为什么有人会要求您创建自己的?时间就是金钱…面试官伙计,只是想知道我该怎么。。。想知道我走的是对的还是错的?
public static string Reverse(this string source)
{
var chars = source.ToCharArray();
Array.Reverse(chars);
return new String(chars);
}