首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

超好用C#控制台应用模板

本文是Wei公众号投稿文章: 默认模板之缺 在工作学习,我们经常需要创建一些简单控制台应用(Console App)去验证某个想法,或者作为小工具交付给其他同事。...勤奋你一定存有一些常用经典代码片段和配置文件吧,那就一一复制进来呗……折腾了十来分钟后,终于可以开始写代码了…… N天之后,又需要新写个控制台应用了,我们再次重复一遍上述过程。...也可以在 Visual Studio 2017 Extensions and Updates 输入 C# Console App Boilerplate 搜索并安装: ?...我们可以直接运行样例代码,也可以将 Work 方法样例代码替换成我们业务逻辑。样例代码直接运行效果如下—— ? 同样是控制台应用,那么它和经典 Console App 模板究竟有何不同呢?...Stopwatch 测量整体运行时间并在最后一行日志输出。

1.5K30
您找到你想要的搜索结果了吗?
是的
没有找到

超好用C#控制台应用模板

默认模板之缺 在工作学习,我们经常需要创建一些简单控制台应用(Console App)去验证某个想法,或者作为小工具交付给其他同事。...勤奋你一定存有一些常用经典代码片段和配置文件吧,那就一一复制进来呗……折腾了十来分钟后,终于可以开始写代码了…… N天之后,又需要新写个控制台应用了,我们再次重复一遍上述过程。...itemName=vej.20181111 也可以在 Visual Studio 2017 Extensions and Updates 输入 C# Console App Boilerplate...方法样例代码替换成我们业务逻辑。...样例代码直接运行效果如下—— 同样是控制台应用,那么它和经典 Console App 模板究竟有何不同呢?

18920

内网渗透如何离线解密 RDP 保存密码

在内网渗透过程可能会遇到目标管理员有远程登陆记录,有些管理员会有保存密码习惯,这个时候我们想要扩大横向范围,密码搜集是最重要。...离线解密 RDP 保存密码 在做渗透过程如果登陆到了目标远程桌面后,或者获取到一个执行命令权限 Shell,第一件事需要做就是权限维持,什么自启动、计划任务都做一遍,第一保证权限不丢失,当然是在免杀情况下...; 第二就是把机器里文件翻底朝天,其实就是看看管理员执行一些命令记录,或者一些重要文件,你可能会收获其他东西,例如本篇 RDP 连接记录。...在一次渗透通过查看目标注册表发现了历史 RDP 记录: reg query "HKEY_CURRENT_USER\Software\Microsoft\Terminal Server Client...AppData\Local\Microsoft\Credentials\* [+] host called home, sent: 89 bytes [+] received output: 驱动器 C 卷没有标签

2.1K31

来,教你写酷绚C#控制台程序!

在.NET生态系统控制台程序表现相对较差。通常来说,这种项目经常作为Demo演示使用。现在是时候让控制台应用程序得到其应有的尊重了。 终端技术发展开启了增强用户体验复兴。...虽然这些工具都允许用户定制自己体验,但是对于开发人员来说,他们还希望向控制台应用程序添加一些编程风格。 在本篇博文中,我们将一起看一下如何使用一些出色开源项目为我们控制台程序增添趣味。...我们可以使用System.Drawing.Color定义颜色来定义控制台程序配色方案。...这个UI工具箱提供了如下控件: Buttons Labels Text Entry Text View User Inputs Windows Menus ScrollBars 使用它,开发人员可以在控制台应用实现一些令人难以置信效果...但是控制台应用程序同样也很强大。下次当你编写控制台程序时候,你可以考虑使用以上介绍某些库,以便为你控制台应用增添色彩。

1.3K20

红队攻击-对RDP常规操作

增加影子用户 1.1 前言 在红队活动,红队人员当拿到一个windows服务器往往为了获取更多有用东西或进行一波操作,会开启3389,这时候如果当前用户在线,如果用当前用户账户去连,会把session...1.2 实操 在windows,添加账户名后面加入$符合可以使该用户在命令行隐藏 例如: ? 我这里添加了一个普通用户,但是用net user命令却看不懂此用户。 但实际上确实是存在 ?...然后打开admin$用户对应,粘贴进去,然后保存。 ? 然后把右键Namesadmin$和000003EB两个目录,选择导出,将注册表导出。...,因为攻击者并没有创建新会话,而是有效地充当被劫持会话用户,取而代之,所以日志文件无法显示会话劫持记录,也记录不到。...,并且可以进行预登录(在登录屏幕上,通过物理控制台或通过远程桌面)。

1.7K30

.NET8 wpf性能优化(RDP硬件加速)

1.前言 wpf是一个较为古老界面框架,不过微软也给这个框架进行了一定性能优化。主要是RDP硬件加速,本篇来看下。 2.概述 配置硬件加速是否用于通过远程桌面协议(RDP)访问wpf应用。...硬件加速是指使用计算机图形处理单元(GPU)加快应用程序图形和视觉效果呈现。这可以提高性能并实现更无缝响应式图形。...wpf比之winform最大不同主要是进行视觉呈现,可以利用GPU加载出各种绚丽效果,以及各种赏心悦目的图形界面。对于GPU性能是有一定要求。...这个RDP硬件优化主要是,远程桌面访问时候,进行图像呈现可能卡顿优化,提升响应式图形界面。 3.用法 那么它应该怎么使用这个RDP加速配置呢?...Switch.System.Windows.Media.EnableHardwareAccelerationInRdp" Value="true" /> 4.结尾 以上两种方法都可以在wpf里面启用RDP

35430

C# 在自定义控制台输出重定向类整合调用方信息

C# 在自定义控制台输出重定向类整合调用方信息 目录 C# 在自定义控制台输出重定向类整合调用方信息 一、前言 二、输出重定向基础版 三、输出重定向进阶版(传递调用方信息) 四、后记及资源 独立观察员...2021 年 1 月 6 日 一、前言 众所周知,在 .NET 控制台应用程序(就是那种小黑框程序)输出信息,使用控制台输出方法 Console.Write ("消息") 或 Console.WriteLine...而在 Winform、WPF、网页程序,使用这种方法输出信息是没有地方显示,在这些程序,我们一般把信息输出到相应显示控件,或者写入日志。...原来我在构造函数添加了这么一句 —— Console.SetOut (new ConsoleWriter (ShowInfo)); —— 这就把原本输出到控制台消息,重定向给了方法 ShowInfo...,自动识别为调用 ConsoleWriter 我们新增那个构造函数: 运行,测试,可以看到方法名和行号都对了: 四、后记及资源 这种重定向方式个人觉得挺方便,比如在动态库全都写成输出控制台方式

1.6K20

C# 查询

本文将介绍C#一种非常重要数据处理方式——查询。例如我想筛选产品中大于10美元产品,那么C#不同版本都是如何完成查询呢?...2 C# 2稍微进行了一点改进,变量test初始化使用了匿名方法,而print变量初始化使用了C# 2另一个特性——方法组转换,它简化了从现有方法创建委托过程。...它们是代码不和谐音符,有损可读性。如果一直进行相同测试和执行相同操作,我还是喜欢C# 1版本。...C# 3 C# 3拿掉了以前将实际委托逻辑包裹起来许多无意义东西, 从而有了极大改进 List products = Product.GetProducts(); foreach...此外,如果愿意,完全可以使用Action,而不是硬编码Console.WriteLine调用 总结 C# 2匿名方法有助于问题可分离性;C#,Lambda表达式则增加了可读性

13330

C#属性

什么是属性(Attribute) 属性在C#很常用,但有部分开发人员对它既熟悉又陌生。概念上属性是将元数据关联到元素方式。...属性使用方法我们在代码中经常肩见到,比如下面这样: [Test] public class MyClass { //more code } 在上面的样例代码Test就是一个属性。...属性是放在类、字段和方法等定义前面(上面),用来指定特定内容。.Net框架为我们提供了一些常用属性。比如Serializable,它告诉编译器当前类可以序列化成JSON或XML。...Carriage { //more code } 在这里这儿需要注,自定义属性名字,如果我使用是xxx+Attribute形式来命名名称的话,那么在使用时可以用短名称xxx(例如上面代码Car...反射主要作用是用来收集对象数据而不是对象本身数据。这些数据包括对象类型、对象成员信息、特定程序集信息以及存储在元素属性任何信息。

1.8K10

C# 细节

不是只有 Task 和 ValueTask 才能 await# 在 C# 编写异步代码时候,我们经常会选择将异步代码包含在一个 Task 或者 ValueTask ,这样调用者就能用 await...Task 和 ValueTask 背后明明是由线程池参与调度,可是为什么 C# async/await 却被说成是 coroutine 呢?...因为你所 await 东西不一定是 Task/ValueTask,在 C# 只要你包含 GetAwaiter() 方法和 bool IsCompleted 属性,并且 GetAwaiter()...I/O 相关异步 API 也的确是这么做,I/O 操作过程是不会有任何线程分配等待结果,都是 coroutine 操作:I/O 操作开始后直接让出控制权,直到 I/O 操作完毕。...中常用一种集成查询语言,允许你这样写代码: from c in list where c.Id > 5 select c; 但是上述代码 list 类型不一定非得实现 IEnumerable,

2.2K00

远程桌面服务影子 – 超越影子会话

使用最新版本,您可以从自己主机控制台在远程主机上隐藏用户会话。 现在让我们深入了解最新版本。...建立影子连接 使用远程桌面连接客户端 ( mstsc) 实用程序内置功能来隐藏会话最简单命令行字符串如下所示: mstsc /v:{ADDRESS} /shadow:{SESSION_ID} 在哪里...本地组策略编辑器管理控制台策略设置窗口 也可以使用命令行解释器通过发出以下命令手动设置它: reg add "HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft...此外,正如我在第 4 节已经写过,只有一部分 RDP 服务必须运行,因此您可以停止和禁用其余服务,而不会对 RDP 功能产生任何影响(以防有人决定将其关闭稍后)并保持 RDS 阴影工作。...远程桌面服务和远程桌面配置服务状态 建立 RDP 连接 成功建立 RDP 连接 成功建立镜像连接 在第 2 节,我提到如果用户锁定他们会话,影子会话将被暂停,但如果用户使用快速用户切换功能在其解锁时直接从他们自己会话切换到另一个帐户

4.7K40

C#yield

讲解 在 C# 基础库中经常可以看到很多方法返回值是 IEnumerable 类型,那么为什么返回 IEnumerable 而不是返回 IList、ICollection 或 List 类型呢?...IEnumerable 它表示该集合元素可以被遍历,一般来说 IEnumerable 类型对象会和 yield 紧密结合和。...在 C# 中大部分方法是通过 return 语句把运行果返给调用者,同时把控制权也交回给了调用者。...但是在等待这段时间里我们没办法了解到程序运算进展,运行过程没有任何反馈。如果要解决这个问题,我们可以通过 yield 关键字。...迭代器 yield 语句分为两种: yeild return,把程序控制权交回调用者并保留本地状态,调用者拿到返回值继续往后执行。

71120

C# 排序

排序 排序是开发中非常常见场景,我们在不同C#版本该如何实现排序呢?本文通过讲解C# 1到C# 3不同实现方案来帮助大家清晰了解 C# 进化过程。...1 在C# 1如果我们想实现排序,你需要们实现IComparer接口。...类似foreach循环中隐式类型转换也被取消了。编译器仍然会考虑将序列源类型转换为变量目标类型,但它知道这时两种类型均为Product,因此没必要产生任何用于转换代码。 确实有了一定改进。...1版本不喜欢所有的东西,但是这并不意味着不能做得更好 C# 3 List products = Product.GetProducts(); products.Sort((x,...在开发过程,我们更倾向于使用简单易懂实现方式去书写代码,代码自述性尤其重要。

15220

腾讯云发布一键封堵工具,完美规避 NSA 黑客工具影响

TheShadowBrokers(影子经纪人)究竟有着什么样背景和来历呢?...关于“影子经纪人”及幕后 在时间发生的当天下午,腾讯云已发出预警通知,并第一时间针对解密黑客工具包分享了云鼎实验室最新分析,在解密后SWIFT文件中发现了大量Excel文件、PPT文稿、攻击证据以及...上述受影响数据,中国大陆使用 SMB 协议 Windows 服务器数量约为 13.6 万台,占全球总量 19.7%,而中国大陆使用 RDP 协议 Windows 服务器数量约为 23.1 万台,...Windows镜像已更新,故亦不受此次攻击工具泄露影响; ☆针对老用户存量机器,您可以采取如下措施进行修复: 1> 目前腾讯云控制台发布了此漏洞一键封堵工具,如果用户在业务上没有使用137、139、...445端口,可登录【CVM控制台】-【安全组】-【编辑规则】使用工具一键规避此漏洞风险。

1.4K70

C#委托(Update)

那为什么叫委托呢,这个名字似乎看似和它职责不相干,但其实这是很“面向对象”称呼,一个方法自己办不到事情,去让另一个方法帮他做,这两者之间关系不就是委托吗,这样抽象关系不就是面向对象一部分吗。...注意,如果如果是有返回值委托,执行多播以后,委托返回值是最后添加方法返回值。...Func委托,它托管有返回值方法,它构造方法重载有17个之多,也就是说,你可以用它匹配最多有16个参数带有返回值方法,这足以满足绝大多数我们使用委托情景。...由此,以上我们自定义委托就可以换为以下代码: 把参数类型或者返回值类型(如果需要它们)写在尖括号,它实现原理是泛型,如果不明白泛型,请留意后期文章。...委托在方法参数应用 如果你想实现方法多样化定制,使用委托作为参数是必不可少: 想通过一个方法实现不同操作,可以动态去改变代码逻辑,这就需要使用委托,用方法封装一些固定逻辑

1.1K20
领券