Öğretici: Visual Studio Code kullanarak .NET sınıf kitaplığı oluşturma

Bu öğreticide, tek bir dize işleme yöntemi içeren basit bir yardımcı program kitaplığı oluşturacaksınız.

Sınıf kitaplığı, bir uygulama tarafından çağrılan türleri ve yöntemleri tanımlar. Kitaplık .NET Standard 2.0'ı hedeflerse, .NET Standard 2.0'ı destekleyen herhangi bir .NET uygulaması (.NET Framework dahil) tarafından çağrılabilir. Kitaplık .NET 8'i hedeflerse, .NET 8'i hedefleyen herhangi bir uygulama tarafından çağrılabilir. Bu öğreticide .NET 8'i hedefleme gösterilmektedir.

Bir sınıf kitaplığı oluşturduğunuzda, bunu üçüncü taraf bir bileşen olarak veya bir veya daha fazla uygulamayla paketlenmiş bir bileşen olarak dağıtabilirsiniz.

Ön koşullar

Çözüm oluşturma

Sınıf kitaplığı projesini yerleştirmek için boş bir çözüm oluşturarak başlayın. Çözüm, bir veya daha fazla proje için kapsayıcı görevi görür. Aynı çözüme ek, ilgili projeler ekleyeceksiniz.

  1. Visual Studio Code'ı başlatın.

  2. Ana menüden Dosya>Klasör Aç 'ı (macOS'ta Aç... ) seçin

  3. Klasör Aç iletişim kutusunda bir ClassLibraryProjects klasörü oluşturun ve Klasör Seç 'e tıklayın (macOS'ta aç).

  4. Ana menüden Terminali Görüntüle'yi>seçerek Visual Studio Code'da Terminali açın.

    Terminal, ClassLibraryProjects klasöründe komut istemiyle açılır.

  5. Terminal'de aşağıdaki komutu girin:

    dotnet new sln
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    The template "Solution File" was created successfully.
    

Sınıf kitaplığı projesi oluşturma

Çözüme "StringLibrary" adlı yeni bir .NET sınıf kitaplığı projesi ekleyin.

  1. Terminalde aşağıdaki komutu çalıştırarak kitaplık projesini oluşturun:

    dotnet new classlib -o StringLibrary
    

    -o veya --output komutu, oluşturulan çıkışı yerleştirecek konumu belirtir.

    Terminal çıkışı aşağıdaki örneğe benzer:

    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. Kitaplık projesini çözüme eklemek için aşağıdaki komutu çalıştırın:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Kitaplığın .NET 8'i hedeflediğinden emin olun. Gezgin'de StringLibrary/StringLibrary.csproj dosyasını açın.

    öğesi, TargetFramework projenin .NET 8.0'i hedeflediğini gösterir.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net8.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Class1.cs dosyasını açın ve kodu aşağıdaki kodla değiştirin.

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

    sınıf kitaplığı, UtilityLibraries.StringLibraryadlı StartsWithUpperbir yöntem içerir. Bu yöntem, geçerli dize örneğinin büyük harf karakterle başlayıp başlamayacağını gösteren bir değer döndürür Boolean . Unicode standardı, büyük harf karakterlerini küçük harf karakterlerinden ayırır. Bir Char.IsUpper(Char) karakter büyükse yöntemi döndürür true .

    StartsWithUpperbir uzantı yöntemi olarak uygulanır, böylece sınıfın String bir üyesiymiş gibi çağırabilirsiniz.

  5. Dosyayı kaydedin.

  6. Çözümü oluşturmak ve projenin hatasız derlendiğini doğrulamak için aşağıdaki komutu çalıştırın.

    dotnet build
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    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
    

Çözüme konsol uygulaması ekleme

Sınıf kitaplığını kullanan bir konsol uygulaması ekleyin. Uygulama, kullanıcıdan bir dize girmesini ister ve dizenin büyük harf karakterle başlayıp başlamadığını bildirir.

  1. Terminalde aşağıdaki komutu çalıştırarak konsol uygulaması projesini oluşturun:

    dotnet new console -o ShowCase
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    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. Konsol uygulaması projesini çözüme eklemek için aşağıdaki komutu çalıştırın:

    dotnet sln add ShowCase/ShowCase.csproj
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. ShowCase/Program.cs dosyasını açın ve tüm kodu aşağıdaki kodla değiştirin.

    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, konsol penceresine row yazılan veri satırlarının sayısını korumak için değişkenini kullanır. 25'ten büyük veya 25'e eşit olduğunda kod konsol penceresini temizler ve kullanıcıya bir ileti görüntüler.

    Program, kullanıcıdan bir dize girmesini ister. Dizenin büyük harf karakterle başlayıp başlamadığını gösterir. Kullanıcı dize girmeden Enter tuşuna basarsa uygulama sona erer ve konsol penceresi kapanır.

  4. Değişikliklerinizi kaydedin.

Proje başvurusu ekleme

Başlangıçta, yeni konsol uygulaması projesinin sınıf kitaplığına erişimi yoktur. Sınıf kitaplığında yöntemleri çağırmasına izin vermek için, sınıf kitaplığı projesine bir proje başvurusu oluşturun.

  1. Aşağıdaki komutu çalıştırın:

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

    Terminal çıkışı aşağıdaki örneğe benzer:

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

Uygulamayı çalıştırma

  1. Terminalde aşağıdaki komutu çalıştırın:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Dizeleri girip Enter tuşuna basarak programı deneyin, ardından çıkmak için Enter tuşuna basın.

    Terminal çıkışı aşağıdaki örneğe benzer:

    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
    

Ek kaynaklar

Sonraki adımlar

Bu öğreticide bir çözüm oluşturdunuz, bir kitaplık projesi eklediniz ve kitaplığı kullanan bir konsol uygulaması projesi eklediniz. Sonraki öğreticide çözüme bir birim testi projesi ekleyebilirsiniz.

Bu öğreticide, tek bir dize işleme yöntemi içeren basit bir yardımcı program kitaplığı oluşturacaksınız.

Sınıf kitaplığı, bir uygulama tarafından çağrılan türleri ve yöntemleri tanımlar. Kitaplık .NET Standard 2.0'ı hedeflerse, .NET Standard 2.0'ı destekleyen herhangi bir .NET uygulaması (.NET Framework dahil) tarafından çağrılabilir. Kitaplık .NET 7'yi hedeflerse, .NET 7'yi hedefleyen herhangi bir uygulama tarafından çağrılabilir. Bu öğreticide .NET 7'yi hedefleme gösterilmektedir.

Bir sınıf kitaplığı oluşturduğunuzda, bunu üçüncü taraf bir bileşen olarak veya bir veya daha fazla uygulamayla paketlenmiş bir bileşen olarak dağıtabilirsiniz.

Ön koşullar

Çözüm oluşturma

Sınıf kitaplığı projesini yerleştirmek için boş bir çözüm oluşturarak başlayın. Çözüm, bir veya daha fazla proje için kapsayıcı görevi görür. Aynı çözüme ek, ilgili projeler ekleyeceksiniz.

  1. Visual Studio Code'ı başlatın.

  2. Ana menüden Dosya>Klasör Aç 'ı (macOS'ta Aç... ) seçin

  3. Klasör Aç iletişim kutusunda bir ClassLibraryProjects klasörü oluşturun ve Klasör Seç 'e tıklayın (macOS'ta aç).

  4. Ana menüden Terminali Görüntüle'yi>seçerek Visual Studio Code'da Terminali açın.

    Terminal, ClassLibraryProjects klasöründe komut istemiyle açılır.

  5. Terminal'de aşağıdaki komutu girin:

    dotnet new sln
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    The template "Solution File" was created successfully.
    

Sınıf kitaplığı projesi oluşturma

Çözüme "StringLibrary" adlı yeni bir .NET sınıf kitaplığı projesi ekleyin.

  1. Terminalde aşağıdaki komutu çalıştırarak kitaplık projesini oluşturun:

    dotnet new classlib -o StringLibrary
    

    -o veya --output komutu, oluşturulan çıkışı yerleştirecek konumu belirtir.

    Terminal çıkışı aşağıdaki örneğe benzer:

    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. Kitaplık projesini çözüme eklemek için aşağıdaki komutu çalıştırın:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Kitaplığın .NET 7'yi hedeflediğinden emin olun. Gezgin'de StringLibrary/StringLibrary.csproj dosyasını açın.

    öğesi, TargetFramework projenin .NET 7.0'i hedeflediğini gösterir.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net7.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Class1.cs dosyasını açın ve kodu aşağıdaki kodla değiştirin.

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

    sınıf kitaplığı, UtilityLibraries.StringLibraryadlı StartsWithUpperbir yöntem içerir. Bu yöntem, geçerli dize örneğinin büyük harf karakterle başlayıp başlamayacağını gösteren bir değer döndürür Boolean . Unicode standardı, büyük harf karakterlerini küçük harf karakterlerinden ayırır. Bir Char.IsUpper(Char) karakter büyükse yöntemi döndürür true .

    StartsWithUpperbir uzantı yöntemi olarak uygulanır, böylece sınıfın String bir üyesiymiş gibi çağırabilirsiniz.

  5. Dosyayı kaydedin.

  6. Çözümü oluşturmak ve projenin hatasız derlendiğini doğrulamak için aşağıdaki komutu çalıştırın.

    dotnet build
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    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
    

Çözüme konsol uygulaması ekleme

Sınıf kitaplığını kullanan bir konsol uygulaması ekleyin. Uygulama, kullanıcıdan bir dize girmesini ister ve dizenin büyük harf karakterle başlayıp başlamadığını bildirir.

  1. Terminalde aşağıdaki komutu çalıştırarak konsol uygulaması projesini oluşturun:

    dotnet new console -o ShowCase
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    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. Konsol uygulaması projesini çözüme eklemek için aşağıdaki komutu çalıştırın:

    dotnet sln add ShowCase/ShowCase.csproj
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. ShowCase/Program.cs dosyasını açın ve tüm kodu aşağıdaki kodla değiştirin.

    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, konsol penceresine row yazılan veri satırlarının sayısını korumak için değişkenini kullanır. 25'ten büyük veya 25'e eşit olduğunda kod konsol penceresini temizler ve kullanıcıya bir ileti görüntüler.

    Program, kullanıcıdan bir dize girmesini ister. Dizenin büyük harf karakterle başlayıp başlamadığını gösterir. Kullanıcı dize girmeden Enter tuşuna basarsa uygulama sona erer ve konsol penceresi kapanır.

  4. Değişikliklerinizi kaydedin.

Proje başvurusu ekleme

Başlangıçta, yeni konsol uygulaması projesinin sınıf kitaplığına erişimi yoktur. Sınıf kitaplığında yöntemleri çağırmasına izin vermek için, sınıf kitaplığı projesine bir proje başvurusu oluşturun.

  1. Aşağıdaki komutu çalıştırın:

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

    Terminal çıkışı aşağıdaki örneğe benzer:

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

Uygulamayı çalıştırma

  1. Terminalde aşağıdaki komutu çalıştırın:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Dizeleri girip Enter tuşuna basarak programı deneyin, ardından çıkmak için Enter tuşuna basın.

    Terminal çıkışı aşağıdaki örneğe benzer:

    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
    

Ek kaynaklar

Sonraki adımlar

Bu öğreticide bir çözüm oluşturdunuz, bir kitaplık projesi eklediniz ve kitaplığı kullanan bir konsol uygulaması projesi eklediniz. Sonraki öğreticide çözüme bir birim testi projesi ekleyebilirsiniz.

Bu öğreticide, tek bir dize işleme yöntemi içeren basit bir yardımcı program kitaplığı oluşturacaksınız.

Sınıf kitaplığı, bir uygulama tarafından çağrılan türleri ve yöntemleri tanımlar. Kitaplık .NET Standard 2.0'ı hedeflerse, .NET Standard 2.0'ı destekleyen herhangi bir .NET uygulaması (.NET Framework dahil) tarafından çağrılabilir. Kitaplık .NET 6'yı hedeflerse, .NET 6'yı hedefleyen herhangi bir uygulama tarafından çağrılabilir. Bu öğreticide .NET 6'nın nasıl hedeflene olduğu gösterilmektedir.

Bir sınıf kitaplığı oluşturduğunuzda, bunu üçüncü taraf bir bileşen olarak veya bir veya daha fazla uygulamayla paketlenmiş bir bileşen olarak dağıtabilirsiniz.

Ön koşullar

Çözüm oluşturma

Sınıf kitaplığı projesini yerleştirmek için boş bir çözüm oluşturarak başlayın. Çözüm, bir veya daha fazla proje için kapsayıcı görevi görür. Aynı çözüme ek, ilgili projeler ekleyeceksiniz.

  1. Visual Studio Code'ı başlatın.

  2. Ana menüden Dosya>Klasör Aç 'ı (macOS'ta Aç... ) seçin

  3. Klasör Aç iletişim kutusunda bir ClassLibraryProjects klasörü oluşturun ve Klasör Seç 'e tıklayın (macOS'ta aç).

  4. Ana menüden Terminali Görüntüle'yi>seçerek Visual Studio Code'da Terminali açın.

    Terminal, ClassLibraryProjects klasöründe komut istemiyle açılır.

  5. Terminal'de aşağıdaki komutu girin:

    dotnet new sln
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    The template "Solution File" was created successfully.
    

Sınıf kitaplığı projesi oluşturma

Çözüme "StringLibrary" adlı yeni bir .NET sınıf kitaplığı projesi ekleyin.

  1. Terminalde aşağıdaki komutu çalıştırarak kitaplık projesini oluşturun:

    dotnet new classlib -f net6.0 -o StringLibrary
    

    -f veya --framework komutu varsayılan hedef çerçeveyi sürüm olarak net6.0 değiştirir.

    -o veya --output komutu, oluşturulan çıkışı yerleştirecek konumu belirtir.

    Terminal çıkışı aşağıdaki örneğe benzer:

    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. Kitaplık projesini çözüme eklemek için aşağıdaki komutu çalıştırın:

    dotnet sln add StringLibrary/StringLibrary.csproj
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    Project `StringLibrary\StringLibrary.csproj` added to the solution.
    
  3. Kitaplığın .NET 6'yi hedeflediğinden emin olun. Gezgin'de StringLibrary/StringLibrary.csproj dosyasını açın.

    öğesi, TargetFramework projenin .NET 6.0'i hedeflediğini gösterir.

    <Project Sdk="Microsoft.NET.Sdk">
    
      <PropertyGroup>
        <TargetFramework>net6.0</TargetFramework>
      </PropertyGroup>
    
    </Project>
    
  4. Class1.cs dosyasını açın ve kodu aşağıdaki kodla değiştirin.

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

    sınıf kitaplığı, UtilityLibraries.StringLibraryadlı StartsWithUpperbir yöntem içerir. Bu yöntem, geçerli dize örneğinin büyük harf karakterle başlayıp başlamayacağını gösteren bir değer döndürür Boolean . Unicode standardı, büyük harf karakterlerini küçük harf karakterlerinden ayırır. Bir Char.IsUpper(Char) karakter büyükse yöntemi döndürür true .

    StartsWithUpperbir uzantı yöntemi olarak uygulanır, böylece sınıfın String bir üyesiymiş gibi çağırabilirsiniz.

  5. Dosyayı kaydedin.

  6. Çözümü oluşturmak ve projenin hatasız derlendiğini doğrulamak için aşağıdaki komutu çalıştırın.

    dotnet build
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    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
    

Çözüme konsol uygulaması ekleme

Sınıf kitaplığını kullanan bir konsol uygulaması ekleyin. Uygulama, kullanıcıdan bir dize girmesini ister ve dizenin büyük harf karakterle başlayıp başlamadığını bildirir.

  1. Terminalde aşağıdaki komutu çalıştırarak konsol uygulaması projesini oluşturun:

    dotnet new console -f net6.0 -o ShowCase
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    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. Konsol uygulaması projesini çözüme eklemek için aşağıdaki komutu çalıştırın:

    dotnet sln add ShowCase/ShowCase.csproj
    

    Terminal çıkışı aşağıdaki örneğe benzer:

    Project `ShowCase\ShowCase.csproj` added to the solution.
    
  3. ShowCase/Program.cs dosyasını açın ve tüm kodu aşağıdaki kodla değiştirin.

    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, konsol penceresine row yazılan veri satırlarının sayısını korumak için değişkenini kullanır. 25'ten büyük veya 25'e eşit olduğunda kod konsol penceresini temizler ve kullanıcıya bir ileti görüntüler.

    Program, kullanıcıdan bir dize girmesini ister. Dizenin büyük harf karakterle başlayıp başlamadığını gösterir. Kullanıcı dize girmeden Enter tuşuna basarsa uygulama sona erer ve konsol penceresi kapanır.

  4. Değişikliklerinizi kaydedin.

Proje başvurusu ekleme

Başlangıçta, yeni konsol uygulaması projesinin sınıf kitaplığına erişimi yoktur. Sınıf kitaplığında yöntemleri çağırmasına izin vermek için, sınıf kitaplığı projesine bir proje başvurusu oluşturun.

  1. Aşağıdaki komutu çalıştırın:

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

    Terminal çıkışı aşağıdaki örneğe benzer:

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

Uygulamayı çalıştırma

  1. Terminalde aşağıdaki komutu çalıştırın:

    dotnet run --project ShowCase/ShowCase.csproj
    
  2. Dizeleri girip Enter tuşuna basarak programı deneyin, ardından çıkmak için Enter tuşuna basın.

    Terminal çıkışı aşağıdaki örneğe benzer:

    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
    

Ek kaynaklar

Sonraki adımlar

Bu öğreticide bir çözüm oluşturdunuz, bir kitaplık projesi eklediniz ve kitaplığı kullanan bir konsol uygulaması projesi eklediniz. Sonraki öğreticide çözüme bir birim testi projesi ekleyebilirsiniz.