Skip to main content
added 26 characters in body
Source Link
user228914
user228914
            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString().TrimEnd(',');
        static public string Reverse3(string str)
        {
            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString().TrimEnd(',');
        }

Try it hereTry it here

            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString();
        static public string Reverse3(string str)
        {
            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString();
        }

Try it here

            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString().TrimEnd(',');
        static public string Reverse3(string str)
        {
            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString().TrimEnd(',');
        }

Try it here

added 1282 characters in body
Source Link
user228914
user228914

You can also use StringBuilder which is slightly faster

            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString();
 

RevisedNew


New2

        static public string Reverse3(string str)
        {
            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString();
        }

        static void Main()
        {
            string names = "Jack,Dylan,Bobby,Peter";
            const int iterations = 1000000;

            Perform(Reverse,  names, iterations, "Original");
            Perform(Reverse2, names, iterations, "New");
            Perform(Reverse3,  names, iterations, "New2");
       
        }
/*
" Release " Configuration

 Iterations  |   Original  |   New     |   New2
-------------+-------------+-----------+--------
 10 000      |    29  ms ms  |    5   ms |   5   ms
-------------+-------------+-----------+--------
 100 000     |    226  ms  |    54  ms |   43  ms
-------------+-------------+-----------+--------
 1 000 000   |    1763  ms  |    442 ms |   405 ms


*/

Try it hereTry it here

Revised

        static void Main()
        {
            string names = "Jack,Dylan,Bobby,Peter";
            const int iterations = 1000000;

            Perform(Reverse,  names, iterations, "Original");
            Perform(Reverse2, names, iterations, "New");
        }
/*
" Release " Configuration

 Iterations  |   Original  |   New    
-------------+-------------+---------
 10 000      |    29  ms   |    5   ms 
-------------+-------------+---------
 100 000     |    226  ms  |    54  ms
-------------+-------------+---------
 1 000 000   |    1763  ms |    442 ms 


*/

Try it here

You can also use StringBuilder which is slightly faster

            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString();
 

New


New2

        static public string Reverse3(string str)
        {
            StringBuilder reversed = new StringBuilder();

            foreach (var word in str.Split(','))
            {
                char[] singlesentence = word.ToCharArray();
                Array.Reverse(singlesentence);
                reversed.Append(singlesentence);
                reversed.Append(",");
            }
            return reversed.ToString();
        }

        static void Main()
        {
            string names = "Jack,Dylan,Bobby,Peter";
            const int iterations = 1000000;

            Perform(Reverse,  names, iterations, "Original");
            Perform(Reverse2, names, iterations, "New");
            Perform(Reverse3,  names, iterations, "New2");
       
        }
/*
" Release " Configuration

 Iterations  |   Original  |   New     |   New2
-------------+-------------+-----------+--------
 10 000      |    29   ms  |    5   ms |   5   ms
-------------+-------------+-----------+--------
 100 000     |    226  ms  |    54  ms |   43  ms
-------------+-------------+-----------+--------
 1 000 000   |    1763 ms  |    442 ms |   405 ms


*/

Try it here

added 50 characters in body
Source Link
user228914
user228914
  • Prefer using a better name like reversed compared to temp, it tells more to the reader.

    Prefer using a better name like reversed compared to temp, it tells more to the reader.

  • Use string.Empty and not ""

        static public string Reverse2(string s)
        {
            
            string tempreversed = "";string.Empty;
            foreach (var name in s.Split(','))
            {
                char[] NameArray = name.ToCharArray();
                Array.Reverse(NameArray);

                temp = tempreversed ++= new string(NameArray) + ",";

            }
            return tempreversed.TrimEnd(',');
        }

Try it hereTry it here

  • Prefer using a better name like reversed compared to temp, it tells more to the reader.
        static public string Reverse2(string s)
        {
            
            string temp = "";
            foreach (var name in s.Split(','))
            {
                char[] NameArray = name.ToCharArray();
                Array.Reverse(NameArray);

                temp = temp + new string(NameArray) + ",";

            }
            return temp.TrimEnd(',');
        }

Try it here

  • Prefer using a better name like reversed compared to temp, it tells more to the reader.

  • Use string.Empty and not ""

        static public string Reverse2(string s)
        {
            
            string reversed = string.Empty;
            foreach (var name in s.Split(','))
            {
                char[] NameArray = name.ToCharArray();
                Array.Reverse(NameArray);

                reversed += new string(NameArray) + ",";

            }
            return reversed.TrimEnd(',');
        }

Try it here

Source Link
user228914
user228914
Loading