摘要:
一.为什么要提出泛型的概念 我们在声明对象或者方法中,对象中成员变量的定义或者函数参数都传递都要指定具体的对象类型,但是有的时候参数的类型是变化的,但是实现的功能却又差不多,这个时候我们就想,是否存在一种东西可以将参数的位置“占住”,当传递具体的对象类型是再用这个类型取替换被占住的位置,这个时候就提 阅读全文
摘要:
一.Var关键字 在学习Linq查询之前,我们先来学习var关键字的用法,看看微软官方的定义:从Visual C#3.0开始,在方法范围声明的变量可以具有隐式“类型” var。隐式类型的局部变量是强类型的,就像您自己声明了类型一样,但编译器确定了类型。从这个定义我们有两点需要注意,首先用var申明的 阅读全文
摘要:
C#获取当前路径的方法如下:1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName-获取模块的完整路径。e799bee5baa6e4b893e5b19e313333376234622. System.Environm 阅读全文
摘要:
一、Cognex925B的简介 Cognex925B是一款线激光扫描传感器,利用激光三角的原理测量Z方向的断差。 二、Cognex925B的参数简介 如上图所示,深蓝色部分就是Cognex925B的量测区域,我们来解析一下参数的含义: Near Field of View 就是梯形的上边(蓝色区域) 阅读全文
摘要:
与引用类型不同,值类型不可能包含 null 值。 每种值类型均有一个隐式的默认构造函数来初始化该类型的默认值。有关值类型默认值的信息,请参见默认值表。 bool false byte 0 char '\0' decimal 0.0M double 0.0D enum 表达式 (E)0 产生的值,其中 阅读全文
摘要:
Task是用来实现多线程的类,在以前当版本中已经有了Thread及ThreadPool,为什么还要提出Task类呢,这是因为直接操作Thread及ThreadPool,向线程中传递参数,获取线程的返回值及线程当启停都非常的麻烦,所以微软的工程师对Thread进行了再封装,这就是Task,可以这么说T 阅读全文
摘要:
一、C#数据类型: C#数据类型的本质是存储方式和可参与逻辑运算方式的抽象。 A:值类型 值类型变量可以直接分配一个值,它是从System.ValueType派生而来,值类型直接包含数据,比如int,char,float,他们分别存储整型数据,字符,浮点数,当你申明一个值类型时,系统分别空间来存储值 阅读全文
摘要:
一.域的概念 C#中域是指成员变量和方法,在OOP编程中(面向对象编程)我们要求用户只知道类是干什么的,而不许知道如何完成的,或者说不允许访问类的内部,对于有必要在类外可见的域,我们用属性来表达,所以说属性可以看成是域的扩展。我们通过操作访问器来操作属性,进而达到对私有域的操作。 二.访问器 属性的 阅读全文
摘要:
一.为什么提出简单工厂模式 考虑一个简单的软件应用场景,一个生产月饼的工厂要生产不同类型的月饼(豆沙的,肉馅的,核桃馅的),现在我们通过”订单“就可以生产不同类型的月饼,这种应用场景反映到程序上就可以使用简单工厂模式。 二.简单工厂模式的定义 简单工厂模式(Simple Factory Patter 阅读全文
摘要:
很多人对Invoke和BeginInvoke理解不深刻,不知道该怎么应用,在这篇博文里将详细阐述Invoke和BeginInvoke的用法: 首先说下Invoke和BeginInvoke有两种用法: 1.Control中Invoke,BeginInvoke 2.Delegate中Invokke,Be 阅读全文