随笔分类 -  C#

摘要:一、前言 我们在做Winform窗体程序开发的时候,会经常遇到窗体之间相互传值。假设有下面的一个场景:一个主窗体和一个子窗体,点击主窗体上面的按钮给子窗体传值,并在子窗体上面显示出来,一般会有如下几种方式实现。 二、公共属性 我们可以在子窗体里面定义一个公共的属性,然后在父窗体里面给公共属性赋值,这 阅读全文
posted @ 2020-02-12 23:03 .NET开发菜鸟 阅读(3067) 评论(1) 推荐(1) 编辑
摘要:一、前言 我们先来看看传统的三层架构,如下图所示: 从上图中我们可以看到:在传统的三层架构中,层与层之间是相互依赖的,UI层依赖于BLL层,BLL层依赖于DAL层。分层的目的是为了实现“高内聚、低耦合”。传统的三层架构只有高内聚没有低耦合,层与层之间是一种强依赖的关系,这也是传统三层架构的一种缺点。 阅读全文
posted @ 2020-02-10 00:43 .NET开发菜鸟 阅读(2440) 评论(2) 推荐(7) 编辑
摘要:一、什么是AOP AOP:Aspect Oriented Programming的缩写,意为面向切面编程,通过预编译方式和运行期间动态代理实现程序功能的统一维护的一种技术。AOP是OOP思想的延续。利用AOP可以对业务逻辑的各个部分进行隔离,从而使得业务逻辑各部分之间的耦合度降低,提高程序的可重用性 阅读全文
posted @ 2020-02-09 16:03 .NET开发菜鸟 阅读(7767) 评论(2) 推荐(15) 编辑
摘要:有时候我们从数据库中查询出来数据之后,需要按照DataTable的某列进行分组,可以使用下面的方法实现,代码如下: 程序运行效果 阅读全文
posted @ 2019-09-10 10:13 .NET开发菜鸟 阅读(10298) 评论(0) 推荐(0) 编辑
摘要:1、什么是Func委托 Func委托代表有返回类型的委托 2、Func委托定义 查看Func的定义: 你会发现,Func其实就是有多个输出参数并且有返回值的delegate。 3、示例 Func至少0个输入参数,至多16个输入参数,根据返回值泛型返回。必须有返回值,不可void。 Func<int> 阅读全文
posted @ 2018-12-12 17:54 .NET开发菜鸟 阅读(26463) 评论(0) 推荐(2) 编辑
摘要:1、什么是Action泛型委托 Action<T>是.NET Framework内置的泛型委托,可以使用Action<T>委托以参数形式传递方法,而不用显示声明自定义的委托。封装的方法必须与此委托定义的方法签名相对应。也就是说,封装的方法必须具有一个通过值传递给它的参数,并且不能有返回值。 2、Ac 阅读全文
posted @ 2018-12-12 16:36 .NET开发菜鸟 阅读(28248) 评论(0) 推荐(3) 编辑
摘要:先来看看下面List<T>泛型集合的排序例子: 输出结果: 从上面的截图中可以看出,Sort()方法默认按照元素的大小进行从小到大的排序,为什么调用Sort()方法就能按照元素的大小进行从小到大的排序呢?其实现原理是什么呢?我们能不能自定义排序规则呢?带着这些问题,我们先来看看Sort()方法的定义 阅读全文
posted @ 2018-07-07 23:43 .NET开发菜鸟 阅读(878) 评论(0) 推荐(0) 编辑
摘要:一、CLR CLR:即公共语言运行时(Common Language Runtime),是中间语言(IL)的运行时环境,负责将编译生成的MSIL编译成计算机可以识别的机器码,负责资源管理(内存分配和垃圾回收等)。 可能有人会提问:为什么不直接编译成机器码,而要先编译成IL,然后在编译成机器码呢? 原 阅读全文
posted @ 2018-06-30 20:27 .NET开发菜鸟 阅读(3095) 评论(0) 推荐(1) 编辑
摘要:一、out输出参数 在以前使用out输出参数的时候,必须先定义变量,然后才能使用,例如: 先定义一个方法,方法参数是out类型的输出参数: 以前版本的写法: 在C#7.0中,可以不用先定义,就能够直接使用了: 结果: 二、模式 使用方法: 结果: 除了可以像上面那样使用外,还可以使用下面的方式: 调 阅读全文
posted @ 2018-06-06 23:06 .NET开发菜鸟 阅读(10768) 评论(1) 推荐(2) 编辑
摘要:一、自动属性初始化 在以前的C#版本中,属性是这样写的: 在C#6.0中,属性可以自动赋初始值,例如: 二、导入静态类 我们都知道,使用静态类的方法时是使用类名.方法名的形式,例如: 这里的Math是框架自带的静态类,要使用Pow()方法,必须要向上面的代码一样。在C#6.0中可以用下面的方式使用静 阅读全文
posted @ 2018-06-06 22:18 .NET开发菜鸟 阅读(18773) 评论(2) 推荐(11) 编辑
摘要:这篇文章主要讲解C#中的泛型,泛型在C#中有很重要的地位,尤其是在搭建项目框架的时候。 一、什么是泛型 泛型是C#2.0推出的新语法,不是语法糖,而是2.0由框架升级提供的功能。 我们在编程程序时,经常会遇到功能非常相似的模块,只是它们处理的数据不一样。但我们没有办法,只能分别写多个方法来处理不同的 阅读全文
posted @ 2018-06-05 22:10 .NET开发菜鸟 阅读(168506) 评论(28) 推荐(99) 编辑
摘要:FastReport是功能非常强大的报表工具,在本篇文章中讲解如何使用FastReport实现打印功能。 一、新建一个窗体程序,窗体上面有设计界面和预览界面两个按钮,分别对应FastReport的设计和预览功能,其实现代码如下: 二、运行程序,点击设计界面,打开FastReport的设计界面: 三、 阅读全文
posted @ 2018-06-05 00:42 .NET开发菜鸟 阅读(21055) 评论(3) 推荐(0) 编辑
摘要:一、MD5不可逆加密 不可逆加密是指将原文加密成密文以后,无法将密文解密成原文。 MD5的算法是公开的,无论是哪种语言,只要需要加密的字符串是相同的,那么经过MD5加密以后生成的结果都是一样的。 .NET框架中已经帮我们实现好了MD5加密,请看下面的例子: Main()方法调用: 结果: 应用: 1 阅读全文
posted @ 2018-06-02 22:13 .NET开发菜鸟 阅读(3254) 评论(0) 推荐(1) 编辑
摘要:一、什么是特性 特性(Attribute)是用于在运行时传递程序中各种元素(比如类、方法、结构、枚举、组件等)的行为信息的声明性标签。您可以通过使用特性向程序添加声明性信息。一个声明性标签是通过放置在它所应用的元素前面的方括号([ ])来描述的。 特性(Attribute)用于添加元数据,如编译器指 阅读全文
posted @ 2018-05-30 16:59 .NET开发菜鸟 阅读(2966) 评论(1) 推荐(2) 编辑
摘要:一、委托 1、什么是委托 委托是面向对象的、类型安全的,是引用类型。使用delegate关键字进行定义。委托的本质就是一个类,继承自System.MulticastDelegate,而它又派生自System.Delegate。里面内置了几个方法 ,可以在类的外面声明委托,也可以在类的内部声明委托。 阅读全文
posted @ 2018-05-26 23:47 .NET开发菜鸟 阅读(3083) 评论(0) 推荐(5) 编辑
摘要:一、什么是单元测试单元测试就是编写一段代码,用来检查某个特定条件下,另外一段代码的行为是否符合我们的预期。单元测试的代码与实际程序的代码具有同等的重要性。每一个单元测试,都是用来定向测试它所对应的一个单元的代码是否正确执行(一般只的是对方法的测试)。单元测试应该由被测试代码的编写者来完成(即程序员自 阅读全文
posted @ 2018-05-19 08:12 .NET开发菜鸟 阅读(1133) 评论(0) 推荐(0) 编辑
摘要:使用DataGridView控件绑定数据后有时需要清空绑定的数据,在清除DataGridView绑定的数据时: 1、设置DataSource为null 这样虽然可以清空DataGridView绑定的数据,但是DataGridView的列也会被删掉。 2、用DataGridView.Row.Clear 阅读全文
posted @ 2018-02-24 11:16 .NET开发菜鸟 阅读(8277) 评论(0) 推荐(0) 编辑
摘要:根据条件改变DataGridView行的颜色可以使用RowPrePaint事件。 示例程序界面如下: 示例程序代码如下: 示例程序下载地址:https://pan.baidu.com/s/1sm2eSlZ 阅读全文
posted @ 2018-02-24 10:20 .NET开发菜鸟 阅读(8989) 评论(0) 推荐(0) 编辑
摘要:最近在项目中使用了Linq,想把Linq的查询结果直接转换成DataTable对象,通过查找发现Linq有一个CopyToDataTable<T>的泛型方法,该方法只能在T是DataRow的情况下使用,发现了这个方法以后就直接在项目中使用了,但是在使用的过程中发现,如果Linq的查询结果不包含任何D 阅读全文
posted @ 2018-01-04 20:42 .NET开发菜鸟 阅读(7471) 评论(0) 推荐(0) 编辑
摘要:C#调用Oracle存储过程的代码如下所示: 示例代码下载地址:https://files.cnblogs.com/files/dotnet261010/CSharp%E6%89%A7%E8%A1%8COracle%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B.rar 阅读全文
posted @ 2017-08-25 16:16 .NET开发菜鸟 阅读(6659) 评论(0) 推荐(0) 编辑

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