Udostępnij za pośrednictwem


Samouczek: tworzenie biblioteki klas platformy .NET przy użyciu programu Visual Studio Code

W tym samouczku utworzysz prostą bibliotekę narzędzi zawierającą jedną metodę obsługi ciągów.

Biblioteka klas definiuje typy i metody wywoływane przez aplikację. Jeśli biblioteka jest przeznaczona dla platformy .NET Standard 2.0, może być wywoływana przez dowolną implementację platformy .NET (w tym .NET Framework), która obsługuje platformę .NET Standard 2.0. Jeśli biblioteka jest przeznaczona dla platformy .NET 8, może być wywoływana przez dowolną aplikację docelową platformy .NET 8. W tym samouczku przedstawiono sposób kierowania platformy .NET 8.

Podczas tworzenia biblioteki klas można ją dystrybuować jako składnik innej firmy lub jako składnik powiązany z co najmniej jedną aplikacją.

Wymagania wstępne

Tworzenie rozwiązania

Zacznij od utworzenia pustego rozwiązania, aby umieścić projekt biblioteki klas. Rozwiązanie służy jako kontener dla co najmniej jednego projektu. Dodasz dodatkowe, powiązane projekty do tego samego rozwiązania.

  1. Uruchom program Visual Studio Code.

  2. Wybierz pozycję Plik>Otwórz folder (Otwórz... w systemie macOS) z menu głównego

  3. W oknie dialogowym Otwieranie folderu utwórz folder ClassLibraryProjects i kliknij pozycję Wybierz folder (Otwórz w systemie macOS).

  4. Otwórz terminal w programie Visual Studio Code, wybierając pozycję Wyświetl>terminal z menu głównego.

    Terminal zostanie otwarty z wierszem polecenia w folderze ClassLibraryProjects.

  5. W terminalu wprowadź następujące polecenie:

    dotnet new sln
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    The template "Solution File" was created successfully.
    

Tworzenie projektu biblioteki klas

Dodaj nowy projekt biblioteki klas platformy .NET o nazwie "StringLibrary" do rozwiązania.

  1. W terminalu uruchom następujące polecenie, aby utworzyć projekt biblioteki:

    dotnet new classlib -o StringLibrary
    

    Polecenie -o or --output określa lokalizację do umieszczenia wygenerowanych danych wyjściowych.

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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. Uruchom następujące polecenie, aby dodać projekt biblioteki do rozwiązania:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Upewnij się, że biblioteka jest przeznaczona dla platformy .NET 8. W Eksploratorze otwórz plik StringLibrary/StringLibrary.csproj.

    Element TargetFramework pokazuje, że projekt jest przeznaczony dla platformy .NET 8.0.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Otwórz plik Class1.cs i zastąp kod następującym kodem.

    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);
        }
    }
    

    Biblioteka klas , UtilityLibraries.StringLibraryzawiera metodę o nazwie StartsWithUpper. Ta metoda zwraca wartość wskazującą Boolean , czy bieżące wystąpienie ciągu zaczyna się od wielkiej litery. Standard Unicode rozróżnia wielkie litery od małych liter. Metoda Char.IsUpper(Char) zwraca true wartość , jeśli znak jest wielkimi literami.

    StartsWithUpper jest implementowany jako metoda rozszerzenia, aby można było wywołać ją tak, jakby była składową String klasy.

  5. Zapisz plik.

  6. Uruchom następujące polecenie, aby skompilować rozwiązanie i sprawdzić, czy projekt kompiluje się bez błędu.

    dotnet build
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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
    

Dodawanie aplikacji konsolowej do rozwiązania

Dodaj aplikację konsolową korzystającą z biblioteki klas. Aplikacja wyświetli użytkownikowi monit o wprowadzenie ciągu i zgłoszenie, czy ciąg zaczyna się od wielkiej litery.

  1. W terminalu uruchom następujące polecenie, aby utworzyć projekt aplikacji konsolowej:

    dotnet new console -o ShowCase
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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. Uruchom następujące polecenie, aby dodać projekt aplikacji konsolowej do rozwiązania:

    dotnet sln add ShowCase/ShowCase.csproj
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. Otwórz plik ShowCase/Program.cs i zastąp cały kod następującym kodem.

    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;
            }
        }
    }
    

    Kod używa zmiennej row do obsługi liczby wierszy danych zapisanych w oknie konsoli. Za każdym razem, gdy jest on większy lub równy 25, kod czyści okno konsoli i wyświetla użytkownikowi komunikat.

    Program monituje użytkownika o wprowadzenie ciągu. Wskazuje, czy ciąg zaczyna się od wielkiej litery. Jeśli użytkownik naciska klawisz Enter bez wprowadzania ciągu, aplikacja kończy się, a okno konsoli zostanie zamknięte.

  4. Zapisz zmiany.

Dodawanie odwołania do projektu

Początkowo nowy projekt aplikacji konsolowej nie ma dostępu do biblioteki klas. Aby umożliwić wywoływanie metod w bibliotece klas, utwórz odwołanie projektu do projektu biblioteki klas.

  1. Uruchom następujące polecenie:

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

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

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

Uruchom aplikację

  1. Uruchom następujące polecenie w terminalu:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Wypróbuj program, wprowadzając ciągi i naciskając klawisz Enter, a następnie naciśnij klawisz Enter , aby zakończyć.

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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
    

Dodatkowe zasoby

Następne kroki

W tym samouczku utworzono rozwiązanie, dodano projekt biblioteki i dodano projekt aplikacji konsolowej, który używa biblioteki. W następnym samouczku dodasz projekt testu jednostkowego do rozwiązania.

W tym samouczku utworzysz prostą bibliotekę narzędzi zawierającą jedną metodę obsługi ciągów.

Biblioteka klas definiuje typy i metody wywoływane przez aplikację. Jeśli biblioteka jest przeznaczona dla platformy .NET Standard 2.0, może być wywoływana przez dowolną implementację platformy .NET (w tym .NET Framework), która obsługuje platformę .NET Standard 2.0. Jeśli biblioteka jest przeznaczona dla platformy .NET 7, może być wywoływana przez dowolną aplikację docelową platformy .NET 7. W tym samouczku przedstawiono sposób kierowania platformy .NET 7.

Podczas tworzenia biblioteki klas można ją dystrybuować jako składnik innej firmy lub jako składnik powiązany z co najmniej jedną aplikacją.

Wymagania wstępne

Tworzenie rozwiązania

Zacznij od utworzenia pustego rozwiązania, aby umieścić projekt biblioteki klas. Rozwiązanie służy jako kontener dla co najmniej jednego projektu. Dodasz dodatkowe, powiązane projekty do tego samego rozwiązania.

  1. Uruchom program Visual Studio Code.

  2. Wybierz pozycję Plik>Otwórz folder (Otwórz... w systemie macOS) z menu głównego

  3. W oknie dialogowym Otwieranie folderu utwórz folder ClassLibraryProjects i kliknij pozycję Wybierz folder (Otwórz w systemie macOS).

  4. Otwórz terminal w programie Visual Studio Code, wybierając pozycję Wyświetl>terminal z menu głównego.

    Terminal zostanie otwarty z wierszem polecenia w folderze ClassLibraryProjects.

  5. W terminalu wprowadź następujące polecenie:

    dotnet new sln
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    The template "Solution File" was created successfully.
    

Tworzenie projektu biblioteki klas

Dodaj nowy projekt biblioteki klas platformy .NET o nazwie "StringLibrary" do rozwiązania.

  1. W terminalu uruchom następujące polecenie, aby utworzyć projekt biblioteki:

    dotnet new classlib -o StringLibrary
    

    Polecenie -o or --output określa lokalizację do umieszczenia wygenerowanych danych wyjściowych.

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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. Uruchom następujące polecenie, aby dodać projekt biblioteki do rozwiązania:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Upewnij się, że biblioteka jest przeznaczona dla platformy .NET 7. W Eksploratorze otwórz plik StringLibrary/StringLibrary.csproj.

    Element TargetFramework pokazuje, że projekt jest przeznaczony dla platformy .NET 7.0.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net7.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Otwórz plik Class1.cs i zastąp kod następującym kodem.

    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);
        }
    }
    

    Biblioteka klas , UtilityLibraries.StringLibraryzawiera metodę o nazwie StartsWithUpper. Ta metoda zwraca wartość wskazującą Boolean , czy bieżące wystąpienie ciągu zaczyna się od wielkiej litery. Standard Unicode rozróżnia wielkie litery od małych liter. Metoda Char.IsUpper(Char) zwraca true wartość , jeśli znak jest wielkimi literami.

    StartsWithUpper jest implementowany jako metoda rozszerzenia, aby można było wywołać ją tak, jakby była składową String klasy.

  5. Zapisz plik.

  6. Uruchom następujące polecenie, aby skompilować rozwiązanie i sprawdzić, czy projekt kompiluje się bez błędu.

    dotnet build
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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
    

Dodawanie aplikacji konsolowej do rozwiązania

Dodaj aplikację konsolową korzystającą z biblioteki klas. Aplikacja wyświetli użytkownikowi monit o wprowadzenie ciągu i zgłoszenie, czy ciąg zaczyna się od wielkiej litery.

  1. W terminalu uruchom następujące polecenie, aby utworzyć projekt aplikacji konsolowej:

    dotnet new console -o ShowCase
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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. Uruchom następujące polecenie, aby dodać projekt aplikacji konsolowej do rozwiązania:

    dotnet sln add ShowCase/ShowCase.csproj
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. Otwórz plik ShowCase/Program.cs i zastąp cały kod następującym kodem.

    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;
            }
        }
    }
    

    Kod używa zmiennej row do obsługi liczby wierszy danych zapisanych w oknie konsoli. Za każdym razem, gdy jest on większy lub równy 25, kod czyści okno konsoli i wyświetla użytkownikowi komunikat.

    Program monituje użytkownika o wprowadzenie ciągu. Wskazuje, czy ciąg zaczyna się od wielkiej litery. Jeśli użytkownik naciska klawisz Enter bez wprowadzania ciągu, aplikacja kończy się, a okno konsoli zostanie zamknięte.

  4. Zapisz zmiany.

Dodawanie odwołania do projektu

Początkowo nowy projekt aplikacji konsolowej nie ma dostępu do biblioteki klas. Aby umożliwić wywoływanie metod w bibliotece klas, utwórz odwołanie projektu do projektu biblioteki klas.

  1. Uruchom następujące polecenie:

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

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

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

Uruchom aplikację

  1. Uruchom następujące polecenie w terminalu:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Wypróbuj program, wprowadzając ciągi i naciskając klawisz Enter, a następnie naciśnij klawisz Enter , aby zakończyć.

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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
    

Dodatkowe zasoby

Następne kroki

W tym samouczku utworzono rozwiązanie, dodano projekt biblioteki i dodano projekt aplikacji konsolowej, który używa biblioteki. W następnym samouczku dodasz projekt testu jednostkowego do rozwiązania.

W tym samouczku utworzysz prostą bibliotekę narzędzi zawierającą jedną metodę obsługi ciągów.

Biblioteka klas definiuje typy i metody wywoływane przez aplikację. Jeśli biblioteka jest przeznaczona dla platformy .NET Standard 2.0, może być wywoływana przez dowolną implementację platformy .NET (w tym .NET Framework), która obsługuje platformę .NET Standard 2.0. Jeśli biblioteka jest przeznaczona dla platformy .NET 6, może być wywoływana przez dowolną aplikację docelową platformy .NET 6. W tym samouczku przedstawiono sposób kierowania platformy .NET 6.

Podczas tworzenia biblioteki klas można ją dystrybuować jako składnik innej firmy lub jako składnik powiązany z co najmniej jedną aplikacją.

Wymagania wstępne

Tworzenie rozwiązania

Zacznij od utworzenia pustego rozwiązania, aby umieścić projekt biblioteki klas. Rozwiązanie służy jako kontener dla co najmniej jednego projektu. Dodasz dodatkowe, powiązane projekty do tego samego rozwiązania.

  1. Uruchom program Visual Studio Code.

  2. Wybierz pozycję Plik>Otwórz folder (Otwórz... w systemie macOS) z menu głównego

  3. W oknie dialogowym Otwieranie folderu utwórz folder ClassLibraryProjects i kliknij pozycję Wybierz folder (Otwórz w systemie macOS).

  4. Otwórz terminal w programie Visual Studio Code, wybierając pozycję Wyświetl>terminal z menu głównego.

    Terminal zostanie otwarty z wierszem polecenia w folderze ClassLibraryProjects.

  5. W terminalu wprowadź następujące polecenie:

    dotnet new sln
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    The template "Solution File" was created successfully.
    

Tworzenie projektu biblioteki klas

Dodaj nowy projekt biblioteki klas platformy .NET o nazwie "StringLibrary" do rozwiązania.

  1. W terminalu uruchom następujące polecenie, aby utworzyć projekt biblioteki:

    dotnet new classlib -f net6.0 -o StringLibrary
    

    Polecenie -f or --framework zmienia domyślną strukturę docelową na net6.0 wersję.

    Polecenie -o or --output określa lokalizację do umieszczenia wygenerowanych danych wyjściowych.

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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. Uruchom następujące polecenie, aby dodać projekt biblioteki do rozwiązania:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Upewnij się, że biblioteka jest przeznaczona dla platformy .NET 6. W Eksploratorze otwórz plik StringLibrary/StringLibrary.csproj.

    Element TargetFramework pokazuje, że projekt jest przeznaczony dla platformy .NET 6.0.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Otwórz plik Class1.cs i zastąp kod następującym kodem.

    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);
        }
    }
    

    Biblioteka klas , UtilityLibraries.StringLibraryzawiera metodę o nazwie StartsWithUpper. Ta metoda zwraca wartość wskazującą Boolean , czy bieżące wystąpienie ciągu zaczyna się od wielkiej litery. Standard Unicode rozróżnia wielkie litery od małych liter. Metoda Char.IsUpper(Char) zwraca true wartość , jeśli znak jest wielkimi literami.

    StartsWithUpper jest implementowany jako metoda rozszerzenia, aby można było wywołać ją tak, jakby była składową String klasy.

  5. Zapisz plik.

  6. Uruchom następujące polecenie, aby skompilować rozwiązanie i sprawdzić, czy projekt kompiluje się bez błędu.

    dotnet build
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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
    

Dodawanie aplikacji konsolowej do rozwiązania

Dodaj aplikację konsolową korzystającą z biblioteki klas. Aplikacja wyświetli użytkownikowi monit o wprowadzenie ciągu i zgłoszenie, czy ciąg zaczyna się od wielkiej litery.

  1. W terminalu uruchom następujące polecenie, aby utworzyć projekt aplikacji konsolowej:

    dotnet new console -f net6.0 -o ShowCase
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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. Uruchom następujące polecenie, aby dodać projekt aplikacji konsolowej do rozwiązania:

    dotnet sln add ShowCase/ShowCase.csproj
    

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. Otwórz plik ShowCase/Program.cs i zastąp cały kod następującym kodem.

    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;
            }
        }
    }
    

    Kod używa zmiennej row do obsługi liczby wierszy danych zapisanych w oknie konsoli. Za każdym razem, gdy jest on większy lub równy 25, kod czyści okno konsoli i wyświetla użytkownikowi komunikat.

    Program monituje użytkownika o wprowadzenie ciągu. Wskazuje, czy ciąg zaczyna się od wielkiej litery. Jeśli użytkownik naciska klawisz Enter bez wprowadzania ciągu, aplikacja kończy się, a okno konsoli zostanie zamknięte.

  4. Zapisz zmiany.

Dodawanie odwołania do projektu

Początkowo nowy projekt aplikacji konsolowej nie ma dostępu do biblioteki klas. Aby umożliwić wywoływanie metod w bibliotece klas, utwórz odwołanie projektu do projektu biblioteki klas.

  1. Uruchom następujące polecenie:

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

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

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

Uruchom aplikację

  1. Uruchom następujące polecenie w terminalu:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Wypróbuj program, wprowadzając ciągi i naciskając klawisz Enter, a następnie naciśnij klawisz Enter , aby zakończyć.

    Dane wyjściowe terminalu wyglądają jak w poniższym przykładzie:

    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
    

Dodatkowe zasoby

Następne kroki

W tym samouczku utworzono rozwiązanie, dodano projekt biblioteki i dodano projekt aplikacji konsolowej, który używa biblioteki. W następnym samouczku dodasz projekt testu jednostkowego do rozwiązania.