将一个字符串进行翻转显示

今天练习C#的一个功能,就是将一个字符串时行翻转显示

如:

string str = "Insus.NET";


翻转成为:

string str = "TEN.susnI";


方法与写法很多。

方法一:

 public void Reversal(string input)
        {
            string result = "";
            for (int i = input.Length - 1; i >= 0; i--)
            {
                result += input[i];
            }
            Console.WriteLine(result);
        }
Source Code


方法二:

 public void Reversal1(string input)
        {
            char[] array = input.ToCharArray();
            IEnumerable<char> cs = array.Reverse<char>();
            char[] array1 = cs.ToArray<char>();
            string result = new string(array1);
            Console.WriteLine(result);
        }
Source Code

 

方法三:

 

  public void Reversal2(string input)
        {
            string result = new string(input.ToCharArray().Reverse<char>().ToArray<char>());
            Console.WriteLine(result);
        }
Source Code


其实方法三就是方法二的一个链式写法。

方法四:


 public void Reversal3(string input)
        {
            char[] array = input.ToCharArray();
            Array.Reverse(array);
            string result = new string(array);
            Console.WriteLine(result);
        }
Source Code

 

方法五:

方法五也是方法四的链式写法。

不管怎样,你可以拿方法三或方法五,写成一个扩展方法。这个直接被程序调用即可。

 

 public static string Reverse(this string input)
        {
            // return new string(input.ToCharArray().Reverse().ToArray());

            return new string(input.ToCharArray().Reverse<char>().ToArray<char>());
        }
Source Code

 

这样子,将有方法六:

 

以上所有方法,在控制台程序运行得到的结果均一样:

 

posted @ 2017-12-10 21:56  Insus.NET  阅读(416)  评论(0编辑  收藏  举报