Notice: This page requires JavaScript to function properly.
Please enable JavaScript in your browser settings or update your browser.
Aprende Challenge: Implementing a Generic Method | Generics & Reflection
C# Desktop Development with .NET MAUI

Challenge: Implementing a Generic Method

Desliza para mostrar el menú

You can clone the base code from the GithHub Repository.

We have a program which contains a method called ReverseArray. The method reversed an integer array.

In the main method, we are attempting to reverse a string array as well, however, it results in an error because the ReverseArray method does not support a string array.

Your task is to convert the ReverseArray method into a generic method so that the program is able to reverse and display both example and strExample arrays without any errors.

Nothing needs to be modified in the main method.

Check: If the program compiles and runs successfully, reversing and outputting both the int and string type arrays using the same reverseArray method, then your solution is correct.

Hint
expand arrow
  1. The syntax for converting a method to a generic is methodName<T>(args, …);;
  2. Convert the return type of the ReverseArray method into an array of type T (T being the generic type parameter);
  3. Convert the argument and the variable type to an array of T.
Solution
expand arrow
namespace ConsoleApp
{
    internal class Program
    {
        public static T[] ReverseArray&lt;T&gt;(T[] array)
        {
            T[] reversedArray = new T[array.Length];
            int lastIndex = array.Length - 1;
            for (int i = 0; i &lt; array.Length; i++)
                reversedArray[i] = array[lastIndex - i];
            return reversedArray;
        }

        static void Main(string[] args)
        {
            int[] example = new int[] { 1, 2, 3, 4, 5 };

            Console.WriteLine("Original Array:");
            foreach(var i in example)
                Console.Write(i + " ");

            Console.WriteLine("");

            example = ReverseArray(example);
            Console.WriteLine("Reversed Array:");
            foreach (var i in example)
                Console.Write(i + " ");

            Console.WriteLine("");

            string[] strExample = new string[] { "a", "b", "c", "d", "e" };
            Console.WriteLine("Original Array:");
            foreach (var i in strExample)
                Console.Write(i + " ");

            Console.WriteLine("");

            strExample = ReverseArray(strExample);
            Console.WriteLine("Reversed Array:");
            foreach (var i in strExample)
                Console.Write(i + " ");
        }
    }
}
¿Todo estuvo claro?

¿Cómo podemos mejorarlo?

¡Gracias por tus comentarios!

Sección 4. Capítulo 3

Pregunte a AI

expand

Pregunte a AI

ChatGPT

Pregunte lo que quiera o pruebe una de las preguntas sugeridas para comenzar nuestra charla

Sección 4. Capítulo 3
some-alt