hi Ganesamoorthi , you don't need to use new string when you want to print a string. you can directly use this to print your string reversed : Console.WriteLine(str.Reverse()); because str.Reverse() returns string and Console.WriteLine() prints it easily.
and you don't need to use ToArray() ! ToArray() returns an array !
in first Console.WriteLine you created a new string and initialized it with array of a reversed string. Its work true because new string() gets array or string. Then first Console.WriteLine prints hsenag.
in second Console.WriteLine you converted your reversed string to an Array using ToArray(). Console.WriteLine() cant print array in this way. You must use a for loop and print array members one by one.
I can mention that Convert.ToString() only converts other types such as numbers to string , not array !
So when you want to print an array using Console.WriteLine , it prints name of array instead members of array (System.Char[]) !
an array of chars !
So in last Console.WriteLine() you converted name of array to string and printed it again ! It looks like you converted a string to a string and printed it !
Remember that Console.WriteLine() only prints string type !
I hope my explanations is explicit :)
take a look on my linkedIn account :
https://www.linkedin.com/in/amir-goodarzi-a42b03148/