随笔分类 -  C#

C#知识难点和疑点 积累
摘要:在代码调试过程中,我们往往都需要去观察程序的状况和计算机的状态,以评估程序对计算机性能的影响。那如何程序或者计算机的性能数据? 1、Process 数据 Process的数据可以看进程的相关使用情况,通过Process.GetCurrentProcess()获得当前程序的Process,然后打印相关 阅读全文
posted @ 2021-09-12 20:27 一只独行的猿 阅读(574) 评论(0) 推荐(0) 编辑
摘要:在windows系统中,我们总能感受到一些开机或者登录后,就会弹出软件更新的小弹窗,或者其他软件弹出的各种小窗口。如何实现这种功能呢? 实现开机或者登录后检测更新、弹出小弹窗,有两种方法。一种是写一个小程序,然后加入到开机自启注册表中,让系统运行它;另一种是写一个任务计划程序,由它控制更新或者执行其 阅读全文
posted @ 2021-09-11 18:02 一只独行的猿 阅读(1913) 评论(0) 推荐(0) 编辑
摘要:目录 表达式树 构建表达式树 使用Expression来进行不同对象的相同名字的属性映射 表达式树构建SQL删选 修改表达式树 构建模拟EF的表达式树解析 连接表达式树 1、表达式树 表达式树,在C#中是Expression来定义的,它是一种语法树,或者说是一种数据结构。其主要用于存储需要计算、运算 阅读全文
posted @ 2020-10-28 09:02 一只独行的猿 阅读(4860) 评论(5) 推荐(14) 编辑
摘要:初识gRPC还是一位做JAVA的同事在项目中用到了它,为了C#的客户端程序和java的服务器程序进行通信和数据交换,当时还是对方编译成C#,我直接调用。 后来,自己下来做了C#版本gRPC编写,搜了很多资料,但许多都是从入门开始?调用说“Say Hi!”这种官方标准的入门示例,然后遇到各种问题…… 阅读全文
posted @ 2020-10-23 12:13 一只独行的猿 阅读(4450) 评论(7) 推荐(6) 编辑
摘要:Newtonsoft.Json 是.net下广泛应用的JSON操作库,使用方便、数据可视化度高。但也总会踩坑…… 如果需要序列化的对象实现了IEnumerable接口,Newtonsoft.Json就会认为这个对象是一个数组,然后遍历这个对象,输出其中的值。如果这个对象还包含有其他的属性,那其他属性 阅读全文
posted @ 2020-09-30 13:05 一只独行的猿 阅读(1152) 评论(0) 推荐(0) 编辑
摘要:Excel的连接中,由两个值需要注意。 首先是HDR值,该值指示是否将表中的第一行有效(第一个行数据不为空的行)数据当作标题列处理。如果选择是YES,那么通过C#读取出来的数据表中,表的列标题则是对应的第一行有效数据;否则,将所有数据都当作数据处理,此时以F1、F2……Fn为列标题。默认的是YES, 阅读全文
posted @ 2020-09-11 13:44 一只独行的猿 阅读(1785) 评论(0) 推荐(0) 编辑
摘要:文件源码https://files.cnblogs.com/files/pilgrim/StudentManage.rar 1、通过正常编写sql语句和顺序写代码 正常编写sql语句是常用的方式,也是初学者最易掌握的(比如我)。直接使用sql进行拼装,但当设计多个实体对象时,就需要写多个对应的sql 阅读全文
posted @ 2020-08-25 22:40 一只独行的猿 阅读(446) 评论(0) 推荐(0) 编辑
摘要:话不多说,解释在代码注释中…… class PrintClass { #region 全局变量 private DataGridView datagrid;//需要打印的数据来源 private PageSetupDialog pagesetupdialog; private PrintPrevie 阅读全文
posted @ 2020-08-14 14:34 一只独行的猿 阅读(2010) 评论(0) 推荐(0) 编辑
摘要:/// <summary> /// 判断文件名是否有效 /// </summary> /// <param name="name"></param> /// <returns></returns> public static bool IsFileNameValid(string name) { b 阅读全文
posted @ 2020-08-13 18:05 一只独行的猿 阅读(405) 评论(0) 推荐(0) 编辑
摘要:在程序启动时运行以下代码: /// <summary> /// 向注册表注册开机自启 /// Win10需要使用系统管理员权限运行VS才能调试,同理启动这个程序也需要系统管理员权限运行 /// 或者第一次启动时,右键以管理员权限启动程序 /// 这个只需要成功注册一次,后面就可以开机自动启动此程序了 阅读全文
posted @ 2020-07-22 09:35 一只独行的猿 阅读(348) 评论(0) 推荐(0) 编辑
摘要:/// <summary> /// 获取CPU的编号 /// </summary> /// <returns>CPU的编号</returns> public static List<string> GetCPUID() { List<string> lstInfo =new List<string> 阅读全文
posted @ 2020-04-17 13:04 一只独行的猿 阅读(645) 评论(0) 推荐(0) 编辑
摘要:/// <summary> /// 返回程序集的Title /// </summary> /// <param name="assembly">程序集</param> /// <returns>Title</returns> public static string GetAssemblyTitle 阅读全文
posted @ 2020-04-17 12:58 一只独行的猿 阅读(301) 评论(0) 推荐(0) 编辑
摘要:在错误的条件时,更改cell.Style.BackColor的背景颜色 /// <summary> /// 单元格字体颜色 /// </summary> Color cellForeColor = Color.Black; /// <summary> /// 单元格背景正常颜色 /// </summ 阅读全文
posted @ 2020-04-17 12:53 一只独行的猿 阅读(669) 评论(0) 推荐(0) 编辑
摘要:Timer可以对方法的执行时间进行调度,可以是经过指定的时间段后执行,也可以是在之后每隔一段时间执行一次。但不要创建太多的定时器。全部的Timer都是由线程池中的1个线程提供支持的。如果Timer的数量太多,则执行回调方法会被延迟。 在空闲时,Timer线程会执行线程池中的任务,Timer会由下一个 阅读全文
posted @ 2019-08-01 21:26 一只独行的猿 阅读(925) 评论(0) 推荐(0) 编辑
摘要:在前面的《基于任务的异步编程模式(TAP)》文章中讲述了.net 4.5框架下的异步操作自我实现方式,实际上,在.net 4.5中部分类已实现了异步封装。如在.net 4.5中,Stream类加入了Async方法,所以基于流的通信方式都可以实现异步操作。 1、异步读取文件数据 public stat 阅读全文
posted @ 2019-07-16 21:08 一只独行的猿 阅读(921) 评论(3) 推荐(0) 编辑
摘要:C#的每一个类型都代表一种资源,而资源又分为两类: 托管资源 由CLR管理分配和释放的资源,即从CLR里new出来的对象。 非托管资源 不受CLR管理的对象,如Windows内核对象,或者文件、数据库连接、套接字、COM对象等。 如果类型用到了非托管资源,或者需要显式释放托管资源,那么需要让类型继承 阅读全文
posted @ 2018-08-26 10:38 一只独行的猿 阅读(1319) 评论(0) 推荐(0) 编辑
摘要:任务表示某个工作单元。这个工作单元可以在单独的线程中运行,也可以同步方式启动一个任务,使主线程等待。任务可以在完成后定义一个连续工作,同时也可以有子任务(但取消父任务后,子任务也会被取消)。 1、启动任务 使用TaskFactory类或Task类的构造方法和Start()方法。启动任务时,会创建一个 阅读全文
posted @ 2018-08-21 22:05 一只独行的猿 阅读(252) 评论(0) 推荐(0) 编辑
摘要:Parallel类是对线程的抽象,提供数据与任务的并行性。类定义了静态方法For和ForEach,使用多个任务来完成多个作业。Parallel.For和Parallel.ForEach方法在每次迭代的时候调用相同的代码,而Parallel.Invoke()方法允许同时调用不同的方法。Parallel 阅读全文
posted @ 2018-07-23 21:14 一只独行的猿 阅读(2347) 评论(0) 推荐(3) 编辑
摘要:Mutex类、Event类、SemaphoreSlim类和ReaderWriterLockSlim类等提供了多个进程之间的线程同步。 1、WaitHandle 基类 WaitHandle抽象类,用于等待一个信号的设置。可以根据其派生类的不同,等待不同的信号。异步委托的BeginInvoke()方法返 阅读全文
posted @ 2018-07-16 21:20 一只独行的猿 阅读(681) 评论(0) 推荐(0) 编辑
摘要:在线程里,如果需要共享数据,那么一定需要使用同步技术,确保一次只有一个线程访问和改变共享数据的状态。在.net中,lock语句、Interlocked类和Monitor类可用于进程内部的同步。 1、lock语句与线程安全 lock语句是设置锁定和解除锁定的一种简单方式。在使用lock语句之前,先进入 阅读全文
posted @ 2018-07-01 14:36 一只独行的猿 阅读(561) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示