```
using System;

namespace ProgressBarConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Se define el número total de elementos para procesar.
            int totalItems = 100;
            for (int i = 0; i <= totalItems; i++)
            {
                // Se calcula el porcentaje de elementos completados.
                int percentage = (int)((i / (double)totalItems) * 100);

                // Se muestra la barra de progreso.
                Console.Write("\r[{0}{1}] {2}%", new string('#', percentage / 10), new string('-', 10 - (percentage / 10)), percentage);

                // Se espera un tiempo para simular el procesamiento de los elementos.
                System.Threading.Thread.Sleep(50);
            }

            // Se finaliza la barra de progreso y se muestra un mensaje de finalización.
            Console.Write("\r[{0}{1}] {2}%\n", new string('#', 10), new string('-', 0), 100);
            Console.WriteLine("Proceso finalizado!");
            Console.ReadLine();
        }
    }
}
```

この例では、処理する要素の総数を定義し、各要素を繰り返し処理するためにforループを使用しています。各反復で、完了した要素のパーセンテージが計算され、処理の進行状況を示すプログレスバーが表示されます。このコードでは、Console.Write()関数を使用して、各反復でプログレス・バーを更新しています。エスケープシーケンスは、行の先頭に戻り、前の出力を上書きするために使用されます。Console.Write() は、処理が終了したときに完了メッセージを表示するためにも使用されます。
この例を実行するには、Visual Studioで新しいC#コンソールアプリケーションを作成し、コードをコピーしてProgram.csファイルに貼り付けるだけです。アプリケーションを実行すると、コンソールにプログレスバーが表示されます。
using System;

namespace ProgressBarConsoleApp
{
    class Program
    {
        static void Main(string[] args)
        {
            // Se define el número total de elementos para procesar.
            int totalItems = 100;
            for (int i = 0; i <= totalItems; i++)
            {
                // Se calcula el porcentaje de elementos completados.
                int percentage = (int)((i / (double)totalItems) * 100);

                // Se muestra la barra de progreso.
                Console.Write("\r[{0}{1}] {2}%", new string('#', percentage / 10), new string('-', 10 - (percentage / 10)), percentage);

                // Se espera un tiempo para simular el procesamiento de los elementos.
                System.Threading.Thread.Sleep(50);
            }

            // Se finaliza la barra de progreso y se muestra un mensaje de finalización.
            Console.Write("\r[{0}{1}] {2}%\n", new string('#', 10), new string('-', 0), 100);
            Console.WriteLine("Proceso finalizado!");
            Console.ReadLine();
        }
    }
}

En este ejemplo, se define el número total de elementos a procesar y se utiliza un bucle for para iterar a través de cada elemento. En cada iteración, se calcula el porcentaje de elementos completados y se muestra una barra de progreso que indica el progreso del proceso. El código utiliza la función Console.Write() para actualizar la barra de progreso en cada iteración. Se utiliza la secuencia de escape \r para volver al inicio de la línea y sobrescribir la salida anterior. También se utiliza Console.Write() para mostrar un mensaje de finalización cuando el proceso ha terminado.
Para ejecutar este ejemplo, simplemente crea una nueva aplicación de consola en C# en Visual Studio y copia y pega el código en el archivo Program.cs. Luego, puedes ejecutar la aplicación y ver la barra de progreso que se muestra en la consola.