SAL

随笔 - 240, 文章 - 0, 评论 - 58, 阅读 - 21万
  博客园  :: 首页  :: 新随笔  :: 订阅 订阅  :: 管理

随笔分类 -  C#

个人对C#学习中的总结!
摘要:以前对WinForm窗体显示和窗体间传值了解不是很清楚最近做了一些WinForm项目,把用到的相关知识整理如下A.WinForm中窗体显示显示窗体可以有以下2种方法:Form.ShowDialog方法(窗体显示为模式窗体)Form.Show方法(窗体显示为无模式窗体)两者具体区别如下:1.在调用Fo... 阅读全文

posted @ 2015-04-17 09:03 SAL 阅读(365) 评论(0) 推荐(1) 编辑

摘要:局部自适应阈值二值化相对全局阈值二值化,自然就有局部自适应阈值二值化,本文利用Emgu CV实现局部自适应阈值二值化算法,并通过调节block大小,实现图像的边缘检测。一、理论概述(转载自《OpenCV_基于局部自适应阈值的图像二值化》) 局部自适应阈值则是根据像素的邻域块的像素值分布来确定该像素... 阅读全文

posted @ 2015-04-14 01:32 SAL 阅读(1487) 评论(0) 推荐(1) 编辑

摘要:首先说明:为什么要清楚装箱与折箱,因为装箱与折箱对程序的性能有很大的影响,因此在写代码的时候要时刻注意这些问题。装箱与折箱都只对值类型数据而言,而对于引用类型数据,都是在托管的堆上运行的,也就不存在装箱与折箱问题了,也就不讨论了。对于所有的基本数据类型,除了string(String)以外,其它的都是值类型。看这样的一个例子:int m_num=4;object m_obj=m_num;Conso... 阅读全文

posted @ 2010-11-23 14:47 SAL 阅读(334) 评论(0) 推荐(0) 编辑

摘要:静态变量与非静态变量的区别如下: 1.内存分配 静态变量在应用程序初始化时,就存在于内存当中,直到它所在的类的程序运行结束时才消亡; 而非静态变量需要被实例化后才会分配内存。 2.生存周期 静态变量生存周期为应用程序的存在周期; 非静态变量的存在周期取决于实例化的类的存在周期。 3.调用方式 静态变量只能通过“类.静态变量名”调用,类的实例不能调用; 非静态变量当该变量所在... 阅读全文

posted @ 2009-12-10 10:38 SAL 阅读(11317) 评论(0) 推荐(3) 编辑

摘要:当然了,string本质上肯定是引用类型,但是这个特殊的类却表现出值类型的特点: 判断相等性时,是按照内容来判断的,而不是地址 它肯定是一个引用类型没错,两个方面来看: 1. class string继承自object,而不是System.ValueType(Int32这样的则是继承于System.ValueType) 2. string本质上是个char[],而Array是引用类型,并且初始化... 阅读全文

posted @ 2008-08-06 09:49 SAL 阅读(329) 评论(0) 推荐(0) 编辑

摘要:弱类型语言允许将一块内存看做多种类型。比如直接将整型变量与字符变量相加。C and C++ 是静态语言,也是弱类型语言;Perl and PHP 是动态语言,但也是弱类型语言。 强类型语言在没有强制类型转化前,不允许两种不同类型的变量相互操作。Java、C# 和 Python 等都是强类型语言。 使用哪种语言还是要按需而定。编写简单小应用,使用弱类型语言可节省很多代码量,有更高的开发效率。而对于构... 阅读全文

posted @ 2008-06-26 17:14 SAL 阅读(823) 评论(0) 推荐(0) 编辑

摘要:域的默认初始化分为两种:对于静态域,类在装载时对其进行初始化.对于非静态域,在类的实例创建时进行初始化.在默认的初始化前,域的值是不可预测的. 首先“类的实例化”与“类的加载、连接与初始化”完全是两个不同的阶段,只有“类的加载、连接与初始化”都完成了才能进行“类的实例化”。 还有一点,静态块里的代码也不是在类被加载时执行,而是在类被初始化时执行的。 类的加载简单说只是把class文件加载到内存,... 阅读全文

posted @ 2008-05-28 17:13 SAL 阅读(557) 评论(0) 推荐(0) 编辑

摘要:一、委托 委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。 委托使用分三步:1、委托声明。2、委托实例化。3、委托调用。 例程一: 程序代码 using System; namespace 委托 { delegate int NumOpe(int a,int b); //第一步:委托声明 class Class1 ... 阅读全文

posted @ 2008-03-24 17:38 SAL 阅读(403) 评论(0) 推荐(0) 编辑

摘要:在数据类型转换中,C#相对其它语言来说是比较严格的,要求显式进行数据转化。 为了操作方便,C#也提供了一种is操作符进行转换,十分方便,它自动检查时局是否和类型兼容,并返回结果。而且它不会抛出异常。如果对象引用为null,则is总返回false。 if (cls1 is Class2) { ... 阅读全文

posted @ 2007-06-22 00:20 SAL 阅读(234) 评论(0) 推荐(0) 编辑

摘要:1.const和readonly的值一旦初始化则都不再可以改写; 2.const只能在声明时初始化;readonly既可以在声明时初始化也可以在构造器中初始化; 3.const隐含static,不可以再写static const;readonly则不默认static,如需要可以写static readonly; 4.const是编译期静态解析的常量(... 阅读全文

posted @ 2007-06-16 08:58 SAL 阅读(318) 评论(2) 推荐(0) 编辑

摘要:.Net提供了接口,这个不同于Class或者Struct的类型定义。接口有些情况,看似和抽象类一样,因此有些人认为在.Net可以完全用接口来替换抽象类。其实不然,接口和抽象类各有长处和缺陷,因此往往在应用当中,两者要结合来使用,从而互补长短。接下来先说说抽象类和接口的区别。区别一,两者表达的概念不一样。抽象类是一类事物的高度聚合,那么对于继承抽象类的子类来说,对于抽象类来说,属于“是&... 阅读全文

posted @ 2007-04-14 09:57 SAL 阅读(759) 评论(0) 推荐(0) 编辑

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