
C#
文章平均质量分 75
木林森先生
随缘写一写博客,学到什么有用的知识就写下来!
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
C#开发——时间间隔类TimSpan
TimeSpan 是 C# 中的一个结构( struct ),用于表示时间间隔或持续时间。它位于 System 命名空间中,是处理时间相关操作时非常重要的工具,尤其是在计算两个日期或时间之间的差值、表示时间段或执行时间相关的运算时。原创 2025-02-27 21:04:45 · 1451 阅读 · 0 评论 -
C#开发——ConcurrentDictionary集合
ConcurrentDictionary<TKey, TValue> 是 C# 中一个专为多线程场景设计的线程安全字典集合,位于 System.Collections.Concurrent 命名空间中。它允许多个线程同时对字典进行读写操作,而无需额外的同步措施。原创 2025-02-24 20:52:10 · 1343 阅读 · 0 评论 -
C#开发——如何捕获异常和抛出异常
在 C#中,可以通过“catch”块捕获异常,并通过“is”关键字或“as”关键字来判断异常的具体类型。原创 2025-02-24 20:52:05 · 1578 阅读 · 0 评论 -
C#反射编程——GetConstructor()方法
表示需要的构造函数的参数个数、顺序和类型的 Type 对象的数组。如果是空参构造函数,可以将Type[]设置为空数组。原创 2024-12-09 08:35:33 · 310 阅读 · 0 评论 -
C#反射编程——Type类
在C#的反射机制中,Type类常用于获取类的类型。原创 2024-12-09 08:21:33 · 495 阅读 · 0 评论 -
C#—如何将一个窗体内嵌入另一个窗体之中
假设,创建一个主窗口(mainForm),和一个用户管理窗口(userManager)。主窗口中创建一个按钮,和一个Panel。点击该按钮,用户管理窗口,内嵌入Panel中。2、创建用户管理窗口userManager,并将该窗口的FormBorderStyle,设置为None。1、创建主窗口MainForm,并在主窗口中新建一个按钮button1,和一个面板panel1。原创 2024-07-16 13:58:22 · 722 阅读 · 0 评论 -
C#——如何使用HttpClient类实现Http通信
HttpClient类实例充当发送HTTP请求的会话。HttpClient实例是应用于该实例执行的所有请求的设置集合。此外,每个HttpClient实例都使用自己的连接池,将自己的请求与其他HttpClient实例执行的请求隔离开来。原创 2024-07-13 14:09:27 · 2434 阅读 · 0 评论 -
使用async和await进行异步编程
任务异步编程模型(TAP)提供了对异步代码的抽象。像往常一样,将代码编写为语句序列。您可以阅读该代码,好像每个语句在下一个语句开始之前就完成了。编译器执行许多转换,因为其中一些语句可能开始工作并返回表示正在进行的工作的Task。这就是这种语法的目标:使代码读起来像语句序列,但根据外部资源分配和任务完成的时间以复杂得多的顺序执行。这类似于人们如何为包含异步任务的进程提供指令。在本文中,您将使用一个制作早餐的指令示例来了解async和await关键字如何使包含一系列异步指令的代码更容易推理。原创 2024-06-05 21:59:55 · 738 阅读 · 0 评论 -
C#开发——关闭窗口时,将窗口缩小到任务栏中。
有时候,我们需要某个窗体,在后台默默运行,而无需在桌面展现出来,我们可以这样做原创 2024-03-19 18:14:28 · 665 阅读 · 1 评论 -
C#集合——详解Dictionary<K, V>集合
Dictionary是表示一种键值对的集合。键值对中,key不可重复。Key不可为null,但Value可以为null。内部使用哈希索引进行存储和检索!Dictionary泛型类提供了一组键到一组值的映射。每次添加到Dictionary中的元素都包含一个值和与其相关联的键。使用键检索值是非常快的,时间复杂度接近O(1)。而Dictionary类以HashTable的形式实现,正因为如此,在使用键检索的时候,速度非常快。原创 2023-11-06 20:07:28 · 852 阅读 · 1 评论 -
C#集合——Queue<T>集合的使用
Queue表示先入先出的对象集合。常用Queue泛型类型。该类将泛型队列实现为循环数组。存储在Queue中的对象在一端插入,从另一端删除。队列Queue和堆栈Stack在需要临时存储信息时很有用;也就是说,您可能希望在检索元素的值之后丢弃它。如果需要按照存储在集合中的顺序访问信息,请使用Queue。如果需要以相反的顺序访问信息,则使用Stack。如果需要从多个线程并发访问集合,则使用或。原创 2023-10-27 14:58:04 · 993 阅读 · 1 评论 -
C#图表开发——将Chart图表保存为图片
Chart类中有一个方法SaveImage(),可以将Chart图表保存为指定目录下的图片。如何将Chart图表保存为指定目录下的图片?方法二:通过文件对话框,指定保存路径。方法一:直接在代码中指定保存路径。原创 2023-10-09 19:48:15 · 1721 阅读 · 1 评论 -
C#线程——Task.Run()方法的使用
Task.Run()是Task类中的一个类,作用是:将指定的工作加入到到ThreadPool队列上运行,并为该工作返回一个Task或Task < result >句柄。具有多个重载方法,原创 2023-10-08 21:39:25 · 17724 阅读 · 1 评论 -
C#——在WinForm中打开Excel文件,或打开Excel应用显示数据
步骤:1、添加引用“2、创建Excel应用对象,并获取Workbook对象,和Worksheet对象。3、将Excel应用展现出来!原创 2023-09-17 12:00:02 · 5478 阅读 · 1 评论 -
C#——表格开发之DataGridView控件
DataGridView控件支持标准的Windows窗体数据绑定模型,因此它可以绑定到各种数据源。通常,您绑定到管理与数据源交互的BindingSource。BindingSource可以是任何Windows窗体数据源,这在选择或修改数据位置时为您提供了极大的灵活性。将数据绑定到DataGridView控件是直接和直观的,在许多情况下,它就像设置DataSource属性一样简单。当绑定到包含多个列表或表的数据源时,请将DataMember属性设置为指定要绑定到的列表或表的字符串。原创 2023-09-10 07:50:48 · 11297 阅读 · 3 评论 -
C#数据库操作——LINQ to SQL技术
在 LINQ to SQL 中,将关系数据库的数据模型,映射到一种对象模型中,该对象模型省指开发人员使用的编程语言表示的对象。通俗来讲,就是将数据库中的关系型数据,映射到代码里的实例对象。原创 2023-08-06 12:39:16 · 2337 阅读 · 0 评论 -
C#——如何优雅地取消进程的执行之Cancellation
从.NET Framework 4开始,.NET使用统一的模型来协作取消异步或长时间运行的同步线程。该模型基于一个称为CancellationToken的轻量级对象。这个对象在调用一个或多个取消时(例如通过创建新线程或任务),是通过将token传递给每个来完成的(通过链式的方式依次传递)。单个能够依次地将token的副本传递给其他线程。之后,在适当的某个时机,创建token的对象就可以使用token来请求线程停止。原创 2023-07-30 10:14:42 · 1935 阅读 · 1 评论 -
C#图表开发——Chart
C#中,开发图表功能的控件是Chart,而Chart控件有两个重要的属性,Series和ChartArea。Series属性是SeriesCollection类型,内部封装了一个集合(元素类型为Series类),每个集合元素代表了要显示的图表数据。当集合内元素为多个时,表示Chart里同时显示的图表为多个。原创 2023-07-28 09:38:02 · 3108 阅读 · 1 评论