Compartir a través de


Tutorial: Creación de una biblioteca de clases de .NET con Visual Studio Code

En este tutorial, creará una sencilla biblioteca de utilidades que contiene un único método de control de cadenas.

Una biblioteca de clases define los tipos y los métodos que se llaman desde una aplicación. Si la biblioteca tiene como destino .NET Standard 2.0, se puede llamar mediante cualquier implementación de .NET (incluido .NET Framework) que admita .NET Standard 2.0. Si la biblioteca tiene como destino .NET 8, la puede llamar cualquier aplicación que tenga como destino .NET 8. En este tutorial se muestra cómo seleccionar .NET 8 como destino.

Al crear una biblioteca de clases, puede distribuirla como un componente de terceros o como un componente empaquetado con una o varias aplicaciones.

Requisitos previos

Crear una solución

Empiece por crear una solución en blanco para colocar el proyecto de biblioteca de clases en ella. Una solución sirve como contenedor de uno o varios proyectos. Agregará otros proyectos relacionados a la misma solución.

  1. Inicie Visual Studio Code.

  2. Seleccione Archivo>Abrir carpeta (Abrir... en macOS) en el menú principal.

  3. En el cuadro de diálogo Abrir carpeta, cree una carpeta ClassLibraryProjects y haga clic en Seleccionar carpeta (Abrir en macOS).

  4. Para abrir el Terminal en Visual Studio Code, seleccione Ver>Terminal en el menú principal.

    Se abre el terminal con el símbolo del sistema en la carpeta ClassLibraryProjects.

  5. En el Terminal, escriba este comando:

    dotnet new sln
    

    La salida del terminal se parece al ejemplo siguiente:

    The template "Solution File" was created successfully.
    

Crear un proyecto de biblioteca de clases

Agregue un nuevo proyecto de biblioteca de clases de .NET denominado "StringLibrary" a la solución.

  1. En el terminal, ejecute el siguiente comando para crear un proyecto de biblioteca:

    dotnet new classlib -o StringLibrary
    

    El comando -o o --output especifica la ubicación para colocar la salida generada.

    La salida del terminal se parece al ejemplo siguiente:

    The template "Class library" was created successfully.
    Processing post-creation actions...
    Running 'dotnet restore' on StringLibrary\StringLibrary.csproj...
      Determining projects to restore...
      Restored C:\Projects\ClassLibraryProjects\StringLibrary\StringLibrary.csproj (in 328 ms).
    Restore succeeded.
    
  2. Ejecute el siguiente comando para agregar el proyecto de biblioteca a la solución:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Asegúrese de que la biblioteca tiene como destino .NET 8. En Explorer, abra el archivo StringLibrary/StringLibrary.csproj.

    En el elemento TargetFramework, se muestra que el proyecto tiene como destino .NET 8.0.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Abra Class1.cs y reemplace el código por el siguiente.

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            char ch = str[0];
            return char.IsUpper(ch);
        }
    }
    

    La biblioteca de clases, UtilityLibraries.StringLibrary, contiene un método denominado StartsWithUpper. Este método devuelve un valor Boolean que indica si la instancia de cadena actual comienza con un carácter en mayúscula. El estándar Unicode distingue caracteres en mayúsculas de caracteres en minúsculas. El método Char.IsUpper(Char) devuelve true si un carácter está en mayúsculas.

    StartsWithUpper se implementa como un método de extensión, de modo que se pueda llamar como si fuera un miembro de la clase String.

  5. Guarde el archivo.

  6. Ejecute el siguiente comando para compilar la solución y comprobar que el proyecto se compila sin errores.

    dotnet build
    

    La salida del terminal se parece al ejemplo siguiente:

    Microsoft (R) Build Engine version 17.8.0+b89cb5fde for .NET
    Copyright (C) Microsoft Corporation. All rights reserved.
      Determining projects to restore...
      All projects are up-to-date for restore.
      StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net8.0\StringLibrary.dll
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    Time Elapsed 00:00:02.78
    

Incorporación de una aplicación de consola a la solución

Agregue una aplicación de consola que use la biblioteca de clases. La aplicación solicitará al usuario que escriba una cadena y notificará si la cadena comienza con un carácter en mayúsculas.

  1. En el terminal, ejecute el siguiente comando para crear un proyecto de consola de aplicación:

    dotnet new console -o ShowCase
    

    La salida del terminal se parece al ejemplo siguiente:

    The template "Console Application" was created successfully.
    Processing post-creation actions...
    Running 'dotnet restore' on ShowCase\ShowCase.csproj...
      Determining projects to restore...
      Restored C:\Projects\ClassLibraryProjects\ShowCase\ShowCase.csproj (in 210 ms).
    Restore succeeded.
    
  2. Ejecute el siguiente comando para agregar el proyecto de aplicación de consola a la solución:

    dotnet sln add ShowCase/ShowCase.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. Abra ShowCase/Program.cs y reemplace todo el código por el siguiente.

    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    

    El código usa la variable row para mantener un recuento del número de filas de datos escritas en la ventana de consola. Siempre que sea mayor o igual a 25, el código borra la ventana de consola y muestra un mensaje al usuario.

    El programa le pide al usuario que escriba una cadena. Indica si la cadena comienza con un carácter en mayúsculas. Si el usuario presiona la tecla Entrar sin especificar una cadena, la aplicación finaliza y la ventana de la consola se cierra.

  4. Guarde los cambios.

Agregar una referencia de proyecto

En un principio, el nuevo proyecto de aplicación de consola no tiene acceso a la biblioteca de clases. Para que pueda llamar a los métodos de la biblioteca de clases, cree una referencia de proyecto al proyecto de biblioteca de clases.

  1. Ejecute el siguiente comando:

    dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
    

Ejecutar la aplicación

  1. Ejecute el siguiente comando en el terminal:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Para probar el programa, escriba cadenas y presione Entrar y, después, presione Entrar para salir.

    La salida del terminal se parece al ejemplo siguiente:

    Press <Enter> only to exit; otherwise, enter a string and press <Enter>:
    
    A string that starts with an uppercase letter
    Input: A string that starts with an uppercase letter
    Begins with uppercase? : Yes
    
    a string that starts with a lowercase letter
    Input: a string that starts with a lowercase letter
    Begins with uppercase? : No
    

Recursos adicionales

Pasos siguientes

En este tutorial, ha creado una solución, ha agregado un proyecto de biblioteca y ha agregado un proyecto de aplicación de consola que usa la biblioteca. En el siguiente tutorial, agregará un proyecto de prueba unitaria a la solución.

En este tutorial, creará una sencilla biblioteca de utilidades que contiene un único método de control de cadenas.

Una biblioteca de clases define los tipos y los métodos que se llaman desde una aplicación. Si la biblioteca tiene como destino .NET Standard 2.0, se puede llamar mediante cualquier implementación de .NET (incluido .NET Framework) que admita .NET Standard 2.0. Si la biblioteca tiene como destino .NET 7, la puede llamar cualquier aplicación que tenga como destino .NET 7. En este tutorial se muestra cómo seleccionar .NET 7 como destino.

Al crear una biblioteca de clases, puede distribuirla como un componente de terceros o como un componente empaquetado con una o varias aplicaciones.

Requisitos previos

Crear una solución

Empiece por crear una solución en blanco para colocar el proyecto de biblioteca de clases en ella. Una solución sirve como contenedor de uno o varios proyectos. Agregará otros proyectos relacionados a la misma solución.

  1. Inicie Visual Studio Code.

  2. Seleccione Archivo>Abrir carpeta (Abrir... en macOS) en el menú principal.

  3. En el cuadro de diálogo Abrir carpeta, cree una carpeta ClassLibraryProjects y haga clic en Seleccionar carpeta (Abrir en macOS).

  4. Para abrir el Terminal en Visual Studio Code, seleccione Ver>Terminal en el menú principal.

    Se abre el terminal con el símbolo del sistema en la carpeta ClassLibraryProjects.

  5. En el Terminal, escriba este comando:

    dotnet new sln
    

    La salida del terminal se parece al ejemplo siguiente:

    The template "Solution File" was created successfully.
    

Crear un proyecto de biblioteca de clases

Agregue un nuevo proyecto de biblioteca de clases de .NET denominado "StringLibrary" a la solución.

  1. En el terminal, ejecute el siguiente comando para crear un proyecto de biblioteca:

    dotnet new classlib -o StringLibrary
    

    El comando -o o --output especifica la ubicación para colocar la salida generada.

    La salida del terminal se parece al ejemplo siguiente:

    The template "Class library" was created successfully.
    Processing post-creation actions...
    Running 'dotnet restore' on StringLibrary\StringLibrary.csproj...
      Determining projects to restore...
      Restored C:\Projects\ClassLibraryProjects\StringLibrary\StringLibrary.csproj (in 328 ms).
    Restore succeeded.
    
  2. Ejecute el siguiente comando para agregar el proyecto de biblioteca a la solución:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Asegúrese de que la biblioteca tiene como destino .NET 7. En Explorer, abra el archivo StringLibrary/StringLibrary.csproj.

    En el elemento TargetFramework se muestra que el proyecto tiene como destino .NET 7.0.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net7.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Abra Class1.cs y reemplace el código por el siguiente.

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            char ch = str[0];
            return char.IsUpper(ch);
        }
    }
    

    La biblioteca de clases, UtilityLibraries.StringLibrary, contiene un método denominado StartsWithUpper. Este método devuelve un valor Boolean que indica si la instancia de cadena actual comienza con un carácter en mayúscula. El estándar Unicode distingue caracteres en mayúsculas de caracteres en minúsculas. El método Char.IsUpper(Char) devuelve true si un carácter está en mayúsculas.

    StartsWithUpper se implementa como un método de extensión, de modo que se pueda llamar como si fuera un miembro de la clase String.

  5. Guarde el archivo.

  6. Ejecute el siguiente comando para compilar la solución y comprobar que el proyecto se compila sin errores.

    dotnet build
    

    La salida del terminal se parece al ejemplo siguiente:

    Microsoft (R) Build Engine version 16.7.4+b89cb5fde for .NET
    Copyright (C) Microsoft Corporation. All rights reserved.
      Determining projects to restore...
      All projects are up-to-date for restore.
      StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net7.0\StringLibrary.dll
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    Time Elapsed 00:00:02.78
    

Incorporación de una aplicación de consola a la solución

Agregue una aplicación de consola que use la biblioteca de clases. La aplicación solicitará al usuario que escriba una cadena y notificará si la cadena comienza con un carácter en mayúsculas.

  1. En el terminal, ejecute el siguiente comando para crear un proyecto de consola de aplicación:

    dotnet new console -o ShowCase
    

    La salida del terminal se parece al ejemplo siguiente:

    The template "Console Application" was created successfully.
    Processing post-creation actions...
    Running 'dotnet restore' on ShowCase\ShowCase.csproj...
      Determining projects to restore...
      Restored C:\Projects\ClassLibraryProjects\ShowCase\ShowCase.csproj (in 210 ms).
    Restore succeeded.
    
  2. Ejecute el siguiente comando para agregar el proyecto de aplicación de consola a la solución:

    dotnet sln add ShowCase/ShowCase.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. Abra ShowCase/Program.cs y reemplace todo el código por el siguiente.

    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    

    El código usa la variable row para mantener un recuento del número de filas de datos escritas en la ventana de consola. Siempre que sea mayor o igual a 25, el código borra la ventana de consola y muestra un mensaje al usuario.

    El programa le pide al usuario que escriba una cadena. Indica si la cadena comienza con un carácter en mayúsculas. Si el usuario presiona la tecla Entrar sin especificar una cadena, la aplicación finaliza y la ventana de la consola se cierra.

  4. Guarde los cambios.

Agregar una referencia de proyecto

En un principio, el nuevo proyecto de aplicación de consola no tiene acceso a la biblioteca de clases. Para que pueda llamar a los métodos de la biblioteca de clases, cree una referencia de proyecto al proyecto de biblioteca de clases.

  1. Ejecute el siguiente comando:

    dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
    

Ejecutar la aplicación

  1. Ejecute el siguiente comando en el terminal:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Para probar el programa, escriba cadenas y presione Entrar y, después, presione Entrar para salir.

    La salida del terminal se parece al ejemplo siguiente:

    Press <Enter> only to exit; otherwise, enter a string and press <Enter>:
    
    A string that starts with an uppercase letter
    Input: A string that starts with an uppercase letter
    Begins with uppercase? : Yes
    
    a string that starts with a lowercase letter
    Input: a string that starts with a lowercase letter
    Begins with uppercase? : No
    

Recursos adicionales

Pasos siguientes

En este tutorial, ha creado una solución, ha agregado un proyecto de biblioteca y ha agregado un proyecto de aplicación de consola que usa la biblioteca. En el siguiente tutorial, agregará un proyecto de prueba unitaria a la solución.

En este tutorial, creará una sencilla biblioteca de utilidades que contiene un único método de control de cadenas.

Una biblioteca de clases define los tipos y los métodos que se llaman desde una aplicación. Si la biblioteca tiene como destino .NET Standard 2.0, se puede llamar mediante cualquier implementación de .NET (incluido .NET Framework) que admita .NET Standard 2.0. Si la biblioteca tiene como destino .NET 6, la puede llamar cualquier aplicación que tenga como destino .NET 6. En este tutorial se muestra cómo seleccionar .NET 6 como destino.

Al crear una biblioteca de clases, puede distribuirla como un componente de terceros o como un componente empaquetado con una o varias aplicaciones.

Requisitos previos

Crear una solución

Empiece por crear una solución en blanco para colocar el proyecto de biblioteca de clases en ella. Una solución sirve como contenedor de uno o varios proyectos. Agregará otros proyectos relacionados a la misma solución.

  1. Inicie Visual Studio Code.

  2. Seleccione Archivo>Abrir carpeta (Abrir... en macOS) en el menú principal.

  3. En el cuadro de diálogo Abrir carpeta, cree una carpeta ClassLibraryProjects y haga clic en Seleccionar carpeta (Abrir en macOS).

  4. Para abrir el Terminal en Visual Studio Code, seleccione Ver>Terminal en el menú principal.

    Se abre el terminal con el símbolo del sistema en la carpeta ClassLibraryProjects.

  5. En el Terminal, escriba este comando:

    dotnet new sln
    

    La salida del terminal se parece al ejemplo siguiente:

    The template "Solution File" was created successfully.
    

Crear un proyecto de biblioteca de clases

Agregue un nuevo proyecto de biblioteca de clases de .NET denominado "StringLibrary" a la solución.

  1. En el terminal, ejecute el siguiente comando para crear un proyecto de biblioteca:

    dotnet new classlib -f net6.0 -o StringLibrary
    

    El comando -f o --framework cambia el marco de destino predeterminado a la versión net6.0.

    El comando -o o --output especifica la ubicación para colocar la salida generada.

    La salida del terminal se parece al ejemplo siguiente:

    The template "Class library" was created successfully.
    Processing post-creation actions...
    Running 'dotnet restore' on StringLibrary\StringLibrary.csproj...
      Determining projects to restore...
      Restored C:\Projects\ClassLibraryProjects\StringLibrary\StringLibrary.csproj (in 328 ms).
    Restore succeeded.
    
  2. Ejecute el siguiente comando para agregar el proyecto de biblioteca a la solución:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Compruebe que la biblioteca tiene como destino .NET 6. En Explorer, abra el archivo StringLibrary/StringLibrary.csproj.

    En el elemento TargetFramework se muestra que el proyecto tiene como destino .NET 6.0.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Abra Class1.cs y reemplace el código por el siguiente.

    namespace UtilityLibraries;
    
    public static class StringLibrary
    {
        public static bool StartsWithUpper(this string? str)
        {
            if (string.IsNullOrWhiteSpace(str))
                return false;
    
            char ch = str[0];
            return char.IsUpper(ch);
        }
    }
    

    La biblioteca de clases, UtilityLibraries.StringLibrary, contiene un método denominado StartsWithUpper. Este método devuelve un valor Boolean que indica si la instancia de cadena actual comienza con un carácter en mayúscula. El estándar Unicode distingue caracteres en mayúsculas de caracteres en minúsculas. El método Char.IsUpper(Char) devuelve true si un carácter está en mayúsculas.

    StartsWithUpper se implementa como un método de extensión, de modo que se pueda llamar como si fuera un miembro de la clase String.

  5. Guarde el archivo.

  6. Ejecute el siguiente comando para compilar la solución y comprobar que el proyecto se compila sin errores.

    dotnet build
    

    La salida del terminal se parece al ejemplo siguiente:

    Microsoft (R) Build Engine version 16.7.0+b89cb5fde for .NET
    Copyright (C) Microsoft Corporation. All rights reserved.
      Determining projects to restore...
      All projects are up-to-date for restore.
      StringLibrary -> C:\Projects\ClassLibraryProjects\StringLibrary\bin\Debug\net6.0\StringLibrary.dll
    Build succeeded.
        0 Warning(s)
        0 Error(s)
    Time Elapsed 00:00:02.78
    

Incorporación de una aplicación de consola a la solución

Agregue una aplicación de consola que use la biblioteca de clases. La aplicación solicitará al usuario que escriba una cadena y notificará si la cadena comienza con un carácter en mayúsculas.

  1. En el terminal, ejecute el siguiente comando para crear un proyecto de consola de aplicación:

    dotnet new console -f net6.0 -o ShowCase
    

    La salida del terminal se parece al ejemplo siguiente:

    The template "Console Application" was created successfully.
    Processing post-creation actions...
    Running 'dotnet restore' on ShowCase\ShowCase.csproj...
      Determining projects to restore...
      Restored C:\Projects\ClassLibraryProjects\ShowCase\ShowCase.csproj (in 210 ms).
    Restore succeeded.
    
  2. Ejecute el siguiente comando para agregar el proyecto de aplicación de consola a la solución:

    dotnet sln add ShowCase/ShowCase.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. Abra ShowCase/Program.cs y reemplace todo el código por el siguiente.

    using UtilityLibraries;
    
    class Program
    {
        static void Main(string[] args)
        {
            int row = 0;
    
            do
            {
                if (row == 0 || row >= 25)
                    ResetConsole();
    
                string? input = Console.ReadLine();
                if (string.IsNullOrEmpty(input)) break;
                Console.WriteLine($"Input: {input}");
                Console.WriteLine("Begins with uppercase? " +
                     $"{(input.StartsWithUpper() ? "Yes" : "No")}");
                Console.WriteLine();
                row += 4;
            } while (true);
            return;
    
            // Declare a ResetConsole local method
            void ResetConsole()
            {
                if (row > 0)
                {
                    Console.WriteLine("Press any key to continue...");
                    Console.ReadKey();
                }
                Console.Clear();
                Console.WriteLine($"{Environment.NewLine}Press <Enter> only to exit; otherwise, enter a string and press <Enter>:{Environment.NewLine}");
                row = 3;
            }
        }
    }
    

    El código usa la variable row para mantener un recuento del número de filas de datos escritas en la ventana de consola. Siempre que sea mayor o igual a 25, el código borra la ventana de consola y muestra un mensaje al usuario.

    El programa le pide al usuario que escriba una cadena. Indica si la cadena comienza con un carácter en mayúsculas. Si el usuario presiona la tecla Entrar sin especificar una cadena, la aplicación finaliza y la ventana de la consola se cierra.

  4. Guarde los cambios.

Agregar una referencia de proyecto

En un principio, el nuevo proyecto de aplicación de consola no tiene acceso a la biblioteca de clases. Para que pueda llamar a los métodos de la biblioteca de clases, cree una referencia de proyecto al proyecto de biblioteca de clases.

  1. Ejecute el siguiente comando:

    dotnet add ShowCase/ShowCase.csproj reference StringLibrary/StringLibrary.csproj
    

    La salida del terminal se parece al ejemplo siguiente:

    Reference `..\StringLibrary\StringLibrary.csproj` added to the project.
    

Ejecutar la aplicación

  1. Ejecute el siguiente comando en el terminal:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Para probar el programa, escriba cadenas y presione Entrar y, después, presione Entrar para salir.

    La salida del terminal se parece al ejemplo siguiente:

    Press <Enter> only to exit; otherwise, enter a string and press <Enter>:
    
    A string that starts with an uppercase letter
    Input: A string that starts with an uppercase letter
    Begins with uppercase? : Yes
    
    a string that starts with a lowercase letter
    Input: a string that starts with a lowercase letter
    Begins with uppercase? : No
    

Recursos adicionales

Pasos siguientes

En este tutorial, ha creado una solución, ha agregado un proyecto de biblioteca y ha agregado un proyecto de aplicación de consola que usa la biblioteca. En el siguiente tutorial, agregará un proyecto de prueba unitaria a la solución.