- 博客(22)
- 资源 (3)
- 问答 (3)
- 收藏
- 关注
转载 C#中string和StringBuilder的区别
转载地址:https://www.cnblogs.com/reggieqiao/p/5902149.html string在任何语言中都有它的特殊性,在.NET中也是如此。它属于基本数据类型,也是基本数据类型中唯一的引用类型。字符串可以声明为常量,但它却放在了堆中。 一:不可改变对象在.NET中String是不可改变对象,一旦创建了一个String对象并给它赋值,它就不可能再改...
2018-08-28 11:23:34 553
转载 C#怎么遍历读取一行一行的TXT文本
foreach(string str in System.IO.File.ReadAllLines("d:\123.txt", Encoding.Default){Console.WriteLine(str); // str就是每一行数据} txt写入 public void Write() { FileStr...
2018-08-27 18:08:31 17141
转载 C#事件-使用事件需要的步骤
转载地址 :https://www.cnblogs.com/gq0324/p/8177799.html事件是C#中另一高级概念,使用方法和委托相关。奥运会参加百米的田径运动员听到枪声,比赛立即进行。其中枪声是事件,而运动员比赛就是这个事件发生后的动作。不参加该项比赛的人对枪声没有反应。从程序员的角度分析,当裁判员枪声响起,发生了一个事件,裁判员通知该事件发生,参加比赛的运动员仔细听枪声是否...
2018-08-27 15:37:03 305
原创 C#委托(笔记)
委托:将方法作为参数进行传递的时候,需要利用到委托。如下实例(笔记): class bubble { /// <summary> /// /// </summary> /// <typeparam name="T"></typepar...
2018-08-24 16:55:17 684
原创 c#装箱拆箱详解
装箱拆箱说简单点就是值类型转换成引用类型与引用类型转换成值类型。说复杂一点:例如装箱,在创建值类型的时候会在栈上存储一个值,在堆上也会存储一个隐藏的引用类型,这个隐藏的引用类型就是供装箱的时候引用类型直接引用的值,所以原来的值类型的值不受影响,拆箱与装箱一样,在创建引用类型的时候也会在栈上创建一个隐藏的值类型供拆箱时调用。 参考资料:C#高级编程第十版 C#6 & .NE...
2018-08-24 10:22:06 171
转载 C#运算符重载
转载地址:https://blog.csdn.net/hucblog/article/details/52924869 运算符重载的概念提出运算符重载的理念是:用户自定义数据类型,应该像内置类型一样。 运算符重载是多态的一种体现 多态:OOP的一个重要思想,即发出同一个消息被不同的对象接收会导致完全不同的行为运算符重载的好处使代码简介优美 提高编码效率 更加符...
2018-08-23 14:50:01 756
原创 详解Equals()静态方法、虚方法,与等号的区别
object st1 = 1; object st2 = 1; Console.WriteLine(Equals(st1, st2)); Console.WriteLine(st1.Equals(st2)); Console.WriteLine(st1 == st2); Co...
2018-08-23 12:10:44 521 1
转载 C#常用集合的使用(转载)
转载地址:https://www.cnblogs.com/vvzone/p/5786818.html 大多数集合都在System.Collections,System.Collections.Generic两个命名空间。其中System.Collections.Generic专门用于泛型集合。针对特定类型的集合类型位于System.Collections.Specialized;命名空...
2018-08-21 10:13:54 209
原创 C#静态成员只执行一次实例2
class A { public static int X; static A() { X = B.Y + 1; } } class B { public static int Y = A.X + 1; static B() { } static void Main() { Console.WriteLine("X={0}, Y={1}...
2018-08-20 18:23:34 276
原创 C#静态成员只执行一次实例1
class ca( public static int count=0; static ca() { count++; } public ca() { count++; })static void main(){ca o1=ne...
2018-08-20 17:53:29 732
原创 处理非托管资源
值类型存储在栈上,当超出作用域时自动从栈中删除。引用类型存储在托管堆上,当程序结束之后并且没有被引用,垃圾回收器就会对其进行回收并且对堆进行压缩。文件句柄、网络连接、数据库连接存储在非托管堆上,非托管堆上的资源无法通过垃圾回收器对其进行回收,只能通过特殊的方法。1.通过析构函数回收(终结器) 构造函数,就是在程序初始化时执行的函数,析构函数跟其相反,是程序结束时触发的函数。...
2018-08-20 11:12:06 133
原创 浅谈C#指针
之前很少听说指针,也不知道是做什么的。今天看了下书,正好见到了指针,就我现在的理解来谈一谈。1.什么是指针。 指针就是栈里面指向值存储的位置,也就值地址。2.为什么要使用指正? 在调用windows api方法(windows api是什么,我前面的博客有写到一些操作windows的一些代码,如:调节音量,亮度等等,都是调用windows api)和c++语言编译的dl...
2018-08-17 16:06:09 3029
原创 const与orderonly的区别
const与orderonly都是定义只读属性。但是两者肯定是有区别的const的值是在编译期间确定的(静态变量),所以const在编译时需要初始化。readeronly在编译时可以不初始化(动态变量),readeonly可以在构造函数中再去赋值,比较灵活。因为const是静态的,默认被static修饰,所以运行速度比orderonly快一些,但是灵活性就差一些了。在网上看了其他朋友的...
2018-08-15 18:10:35 208
原创 C#虚方法,抽象方法,接口的区别
1.虚方法 关键字virtual,如果父类中存在虚方法,则子类可以用override进行方法的重写,当然也可以不重写2.抽象方法 关键字abstract,抽象方法必须存在于抽象类之后,但是抽象类不仅仅只有抽象方法,也可由有非抽象方法和成员。继承抽象类的子类必须要重写抽象类中的抽象方法。3.接口 关键字interface,接口在声明上与抽象类相同,但是接口是纯粹抽象的,里...
2018-08-15 17:22:21 1131
转载 C#面向对象(一)
转载地址:https://www.cnblogs.com/Alvin-ftd/p/4025248.html一:面向对象的基本知识C#程序分为面向过程和面向对象什么是对象:一切皆为对象:Object,生活中常说的“东西”就是程序里面所指的对象;生活中遇到的东西我们都在下意识的归类;归类意味着抽象模型;类:class,对某类众多对象的共同特点抽象出来的模型。他们的关系:类是好多对象...
2018-08-13 15:32:58 173
转载 C#虚方法virtual详解
转载地址:https://www.cnblogs.com/BluceLee/p/3680345.html 在C++、Java等众多OOP语言里都可以看到virtual的身影,而C#作为一个完全面向对象的语言当然也不例外。虚拟函数从C#的程序编译的角度来看,它和其它一般的函数有什么区别呢?一般函数在编译时就静态地编译到了执行文件中,其相对地址在程序运行期间是 不发生变化的,也就是写死了的...
2018-08-13 14:59:48 133
转载 C#静态类 静态方法与非静态方法比较
转载地址:https://www.cnblogs.com/newcapecjmc/p/7064844.html 静态类:在类(class)上加入static修饰, 表示该类无法被实例化,并且该类中,无法实例化变量或函数。那么如果要在此静态类中添加函数、变量、属性,则必须都是静态的。静态类的主要特性:1:仅包含静态成员。2:无法实例化。 3:静态类的本质,是一个抽象的...
2018-08-10 15:27:02 1112
转载 C#当中的扩展方法
转载地址:https://www.cnblogs.com/archerkiller5/p/6371387.html 先说有用的,c#扩展方法结论: 扩展方法能够向现有类型“添加”方法,而无需创建新的派生类型,重新编译或以其他方式修改原始类型。扩展方法必须是静态方法,可以像实例方法一样进行调用。且调用同名中实际定义的方法优先级要高于扩展方法。 先来个简单的例子: 1 ...
2018-08-10 15:12:32 235
转载 C#基础之继承
转载地址 https://www.cnblogs.com/fangyz/p/5271780.htmlC#基础之继承 继承是在类之间建立一种相交的关系,使得新定义的派生类的实例可以继承已有的基类的特征并且还可以添加新的功能。以前对继承的理解仅仅限于定义,下面是我查了些资料、写了点代码的总结。1.C#继承的特点(1) 派生类是对基类的扩展,派生类可以添加新的成员,但不能移除已经继承的...
2018-08-10 15:02:08 122
原创 C#Dictionary排序
Dictionary<string, int> MyDictionary = new Dictionary<string, int>(); MyDictionary.Add("第一",1); MyDictionary.Add("第四", 4); MyDictionary.Add("第三", 3);...
2018-08-10 11:30:37 411
原创 objeck和泛型的区别
C#中object是一切类型的基类,可以用来表示所有类型。而泛型是指将类型参数化以达到代码复用提高软件开发工作效率的一种数据类型。你可以将泛型理解成替换,在使用的时候将泛型参数替换成具体的类型,这个过程是在编译的时候进行的,使用泛型编译器依然能够检测出类型错误。而object表示其他类型是通过类型转换来完成的,而所有类型转化为object类型都是合法的,所以即使你先将object对象赋...
2018-08-08 18:25:01 466
转载 HashTable、HashSet和Dictionary的区别
转载地址:https://www.cnblogs.com/akwwl/p/3680376.html1.HashTable 哈希表(HashTable)表示键/值对的集合。在.NET Framework中,Hashtable是System.Collections命名空间提供的一个容器,用于处理和表现类似key-value的键值对,其中key通常可用来快速查找,同时key是区分大小写;val...
2018-08-08 18:16:58 171 1
C#Redis引用文件
2018-05-23
ProFormSelect labelInValue属性无效
2021-09-23
socket.core.Server 接收消息不及时
2021-07-05
TA创建的收藏夹 TA关注的收藏夹
TA关注的人