Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/30.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 反向单字符串值_C#_Asp.net_.net - Fatal编程技术网

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);
}