首页 > 编程语言 >C#控制台在同一行显示进度条

C#控制台在同一行显示进度条

时间:2024-02-04 09:44:27浏览次数:23  
标签:显示 进度条 C# System using 控制台

代码如下

using System;
using System.Threading;

class Program
{
    static void Main()
    {
        Console.Write("Progress: ");

        // 循环迭代,模拟进度显示
        for (int i = 0; i <= 100; i++)
        {
            // 更新控制台中的进度显示
            Console.SetCursorPosition(10, Console.CursorTop);
            Console.Write($"{i}%");

            // 模拟一些工作(例如处理任务、计算等待)
            Thread.Sleep(100);

            // 清除进度数字之后的部分(可选)
            ClearRemainingConsoleLine();
        }

        // 所有进度完成后显示结束消息
        Console.WriteLine("\nDone!");
    }

    // 清除进度数字之后的方法
    static void ClearRemainingConsoleLine()
    {
        // 记录当前光标位置
        int currentLineCursor = Console.CursorTop;

        // 将光标移动到进度数字后,清除剩余部分
        Console.SetCursorPosition(10, Console.CursorTop);
        Console.Write(new string(' ', Console.WindowWidth - 10));

        // 将光标还原到之前的位置
        Console.SetCursorPosition(10, currentLineCursor);
    }
}
View Code

 

标签:显示,进度条,C#,System,using,控制台
From: https://www.cnblogs.com/lizhiqiang0204/p/18005602

相关文章

  • 在K8S中,etcd组件功能及其特点是什么?
    在Kubernetes(简称K8s)中,etcd是一个极其重要的组件,它是分布式键值存储系统,用于保存集群的配置数据和状态信息。以下是etcd的主要特点:高可用性:etcd设计为集群模式运行,支持多节点部署,通过Raft一致性算法实现数据复制与故障恢复,即使部分节点出现故障,集群也能继续提供服务。强一致......
  • 在K8S中,etcd适应的场景有哪些?
    在Kubernetes(简称K8s)中,etcd作为核心组件,主要用于以下场景:集群状态存储:etcd是Kubernetes控制平面的核心部分,用于持久化存储整个集群的状态信息。所有关于Pods、Services、ReplicaSets、Deployments、Namespaces等各类资源对象的配置数据和状态变更都会被记录在etcd中。服务发......
  • J-link J-scop 进行可视化数据波形调试
    Step1.软件安装链接:https://pan.baidu.com/s/1TQba9HFmnz30rBAHptrn3w?pwd=kron提取码:kron可能老版本的jlink在安装的时候没有这个软件有需要的可以自己下载一个正常安装即可,安装完成后打开软件Step2.软件使用1.选择芯片2.选择axf文件完成后应该是这个样子的点击......
  • 在K8s中,容器内如何获取pod和namespace名?
    在Kubernetes(K8s)中,容器可以通过DownwardAPI来获取Pod和Namespace的信息。以下是两种方法来实现这一点:通过环境变量获取获取Pod名称:在Pod的配置中,可以设置一个环境变量,将Pod的名字注入到容器内:apiVersion:v1kind:Podmetadata:name:my-podspec:containers:......
  • Invicti v24.1.0 for Windows - 企业应用安全测试
    Invictiv24.1.0forWindows-企业应用安全测试InvictiStandard30Jan2024v24.1.0.43434请访问原文链接:Invictiv24.1.0forWindows-企业应用安全测试,查看最新版。原创作品,转载请保留出处。作者主页:sysin.orgInvicti是一种自动化但完全可配置的Web应用程序安全扫......
  • 2.Prism框架ModuleAttribute、IOC扩展、功能注册
    ModuleAttribute(按需延迟加载)ModuleAttribute是Prism框架中用于标识模块的属性。通过使用ModuleAttribute,可以将模块与特定的模块目录进行关联,从而使Prism应用程序能够动态加载和初始化模块。在使用WPFModuleAttribute时,需要将该属性应用于模块类,并指定模块的模块目......
  • 在K8S中,PVC创建和挂载失败原因有哪些?
    在Kubernetes(K8S)中,PersistentVolumeClaim(PVC)创建和挂载失败的原因可能有多种。以下是可能导致PVC创建或挂载失败的常见原因:存储资源不足:如果集群中的可用存储资源(PersistentVolume)不足以满足PVC的请求容量或者访问模式(例如ReadWriteOnce、ReadOnlyMany或Rea......
  • Promise, async, await实现异步编程,代码详解
    写在开头一点题外话其实最近在不断的更新Java的知识,从基础到进阶,以及计算机基础、网络、WEB、数据库、数据结构、Linux、分布式等等内容,预期写成一个既可以学习提升又可以面试找工作的《Java成长之路》!算是对自己学习的总结(笔记),也算是一种程序猿的记忆,现在大环境那么差,万一哪天......
  • 【数据库】SQL 错误 [42P10] ERROR SELECT DISTINCT ON expressions must match ini
    SQL错误[42P10],表示在使用SELECTDISTINCTON语句时,表达式必须与初始的ORDERBY表达式匹配。这个错误通常发生在你尝试对不同的列进行去重操作时,而这些列并没有在ORDERBY子句中明确指定。为什么会出现这个错误?当你使用SELECTDISTINCTON语句时,你需要提供一个或多个......
  • Windows 下 LaTex 超简单地安装使用(MikTeX + VSCode)
    写这篇是因为我找了一晚上教程,结果发现基本上都过时了,现在的版本下根本不需要任何复杂的操作,干脆自己写一个免得后来人再崩溃。参考及主要内容来源,可以说我后半部分内容基本就是翻译(?安装LaTex主流的分发版本应该就是TeXLive和MikTeX了,这里使用MikTex——TeXLive太大了......