随笔分类 - C#语言基础
摘要:上一节我们谈到了匿名变量,本节我们学习匿名方法。 来自MSDN上的说法是这样的 在 2.0 之前的 C# 版本中,声明委托的唯一方法是使用命名方法。 C# 2.0 引入了匿名方法,而在 C# 3.0 及更高版本中,Lambda 表达式取代了匿名方法,作为编写内联代码的首选方式。 有一种情况下,匿名方
阅读全文
摘要:要理解委托,我们首先要知道委托的概念: ”委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递,这种将方法动态地赋给参数的做法,可以避免在程序中大量使用If-Else(Switch)语句,同时使得程序具有更好的可扩展性。“ 这是百度上和许多教科书上都有的一个概念,但是初学这
阅读全文
摘要:C#托管代码是什么? 托管代码(Managed Code)实际上就是中间语言(IL)代码。代码编写完毕后进行编译,此时编译器把代码编译成中间语言(IL),而不是能直接在你的电脑上运行的机器码。程序集(Assembly)的文件负责封装中间语言,程序集中包含了描述所创建的方法、类以及属性的所有元数据。
阅读全文
摘要:以前我都是通过定义一个delegate来写委托的,但是最近看一些外国人写的源码都是用action和func方式来写,当时感觉对这很陌生所以看起源码也觉得陌生,所以我就花费时间来学习下这两种方式,然后发现确实代码简洁了不少。这两种方式我们也可以去实践的过程去慢慢运用。 先说一下委托: 模拟一下场景:小
阅读全文
摘要:重写: 要求方法名、参数合返回值相同; 意义:重写是为了增强类的重用性和复用性,扩展性;重写是对类中方法的扩充,因为继承用的是父类的东西,重写则不仅得到父类的东西,同时也加入了自己的东西。 方法重写的一些特性: 1.发生方法重写的两个方法返回值、方法名、参数列表必须完全一致(子类重写父类的方法) 2
阅读全文
摘要:C#串口介绍以及简单串口通信程序设计实现 周末,没事干,写个简单的串口通信工具,也算是本周末曾来过,废话不多,直接到主题 串口介绍 串行接口简称串口,也称串行通信接口或串行通讯接口(通常指COM接口),是采用串行通信方式的扩展接口。(至于再详细,自己百度) 串口应用: 工业领域使用较多,比如:数据采
阅读全文
摘要:调用方法: 如:btn_FangTai.BackColor = Color.FromArgb(135, 206, 250); 十六进制颜色查询
阅读全文
摘要:typeof(C# 参考) 用于获取类型的 System.Type 对象。typeof 表达式采用以下形式: System.Type type = typeof(int); 备注 若要获取表达式的运行时类型,可以使用 .NET Framework 方法 GetType,如下所示: int i = 0
阅读全文
摘要:好些日子不仔细写C#代码了,现在主要是Java项目,C#、Net相关项目不多了,有点手生了,以下代码不足之处望各位提出建议和批评。 近日闲来无事想研究一下自定义控件,虽然之前也看过,那也仅限于皮毛,粗略的一览而已。在研究过程中渐渐地熟悉了自定义控件的相关流程、原理,于是开始自己动手去做一个。考虑到j
阅读全文
摘要:1.前言: 运行环境:VS2013+SQL2008+Windows10 程序界面预览: 使用的主要控件:dataGridview和menuStrip等。 2.功能具体介绍: 1.首先,我们要先实现基本的数据操作,增删改查这几个操作。 (1)先定义一个数据库操作的公共类: using System;
阅读全文
摘要:在C#中通过使用方法来获取返回值时,通常只能得到一个返回值。因此,当一个方法需要返回多个值的时候,就需要用到ref和out,那么这两个方法区别在哪儿呢? MSDN: ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref
阅读全文
摘要:之前学习C#时候就遇到了这个问题,不过当时没有深究。昨晚想到这个问题时候自己尝试敲了敲代码,结果从运行的结果来看,越看越乱。在查看了一些资料的基础上,自己总结了一下。 可能会有点乱,但是自己总结出来的东西。 一:ref 关键字使参数按引用传递。 其效果是,当控制权传递回调用方法时,在方法中对参数所做
阅读全文
摘要:本文主要是讨论栈和堆的含义,也就是讨论C#的两种类据类型:值类型和引用类型; 虽然我们在.net中的框架类库中,大多是引用类型,但是我们程序员用得最多的还是值类型。 引用类型如:string,Object,class等总是在从托管堆上分配的,C#中new操作符返回对象的内存地址--也就是指向对象数据
阅读全文
摘要:面向对象三大特性:封装、继承和多态。 一、封装 封装: 每个对象都包含它能进行操作所需要的所有信息,这个特性称为封装,因此对象不必依赖其他对象来完成自己的操作。 封装的好处: 1、良好的封装能够减少耦合。 2、类内部的实现可以自由地更改。 3、类具有清晰的对外接口。 二、继承 对象的继承代表了一种"
阅读全文
摘要:MemoryStream 是一个特例,MemoryStream中没有任何非托管资源,所以它的Dispose不调用也没关系。托管资源.Net会自动回收 MemoryStream继承自Stream类。内存流的好处是指针可以晃来晃去,也就是支CanSeek,Position,Seek()。任意读其中一段。
阅读全文
摘要:设计模式(Design Patterns) ——可复用面向对象软件的基础 设计模式(Design pattern)是一套被反复使用、多数人知晓的、经过分类编目的、代码设计经验的总结。使用设计模式是为了可重用代码、让代码更容易被他人理解、保证代码可靠性。 毫无疑问,设计模式于己于他人于系统都是多赢的,
阅读全文
摘要:一、封装: 我们可以把世界上任何一个东西都看作为一个对象,那么我们这里以人为例,一个人就肯定是一个对象了。 那么封装是什么呢? 封装就是这个人要完成一件事情,他所需要的任何工具都带在了自己的身上,所需要的技术也都装在了自己的脑子里了。不需要借助于别人的力量就能完成这一件事情。这个有什么好处呢?好处就
阅读全文
摘要:C# 获取utc时间,以及utc datetime 互相转化 大部分源于http://blog.sina.com.cn/s/blog_4c6e822d0102dsdz.html 刚开始学习一点C#知识,研究一下UTC时间获取,如下 DateTime dt = DateTime.UtcNow; 另:
阅读全文
摘要:C#启动一个外部程序(1)-WinExec 调用Win32 API。1. using System.Runtime.InteropServices; 2. // //#define SW_HIDE 0 //隐藏窗口,活动状态给令一个窗口 //#define SW_SHOWNORMAL 1 //用原来
阅读全文
摘要:using System.Runtime.InteropServices;namespace ConsoleTest{ class Program { public enum ShowCommands : int { SW_HIDE = 0, SW_SHOWNORMAL = 1, SW_NORMAL
阅读全文