C#笔记

C# Byte[]使用总结

C# Byte[] string转换

01,C# string类型转成byte[]:

Byte[] byteArray = System.Text.Encoding.Default.GetBytes ( str );

02, C# byte[]转成string:

stringstr = System.Text.Encod...

ningjian 2023-04-03

C#笔记

c#中多线程间的同步

public class Sample { //先执行的线程设置为 true ManualResetEvent even = new ManualResetEvent(true); ManualResetEvent odd = new ManualResetEvent(false); ...

ningjian 2023-03-15

C#笔记

优化C# socket服务端和多客户端连接

物联网系统需要,项目使用C# + rabbitmq + sql server 实现 设备的数据实时查看和存储

放到互联网一段时间试运行,会发现有人使用软件经常扫描我们的socket端口,并且造成了程序的卡死 ,今天通过优化,基本上解决了问题,但是我不断断开连接,导致rabbitmq崩掉了,无法连接,这个倒是没想到,周一在做进一步优化了,找找原因看到底是哪里的问题。

ningjian 2023-03-11

C#笔记

.NET 异步多线程

主要还是以Task,Parallel为主,毕竟用的比较多的现在就是这些了,再往前去的,除非是老项目,不然真的应该是挺少了,大概有个概念,就当了解一下进化史了

1、委托异步多线程,所有的异步都是基于委托来...

ningjian 2023-03-07

C#笔记

C#的string是一种糟糕的设计吗?

 

C#的string到底是一种糟糕的设计吗?

    虽然C#的string类型在某些情况下可能会增加理解成本,但是它也提供了许多有用的功能和优化。相比于char[]指针,C#的string类型...

ningjian 2023-03-05

C#笔记

C#中,ref和out在修饰方法参数时有什么区别?

C#中,ref和out在修饰方法参数时有什么区别?

ref和out都可以实现将一个指定的参数按照引用进行传递:

ref参数在传入方法之前必须进行初始化;而out参数在传入方法之前可以不用初始化。

ref参...

ningjian 2023-03-02

C#笔记

C#中重写和重载的区别?方法的override和overload有什么区别?

重载:同类同名不同参,属于编译时多态。重载是在一个类中定义多个方法名相同的方法,表示一个行为有多种实现方式

重写:同名同参不同类,属于运行时多态。重写是用子类的方法来重写父类的方法,表示相同的方法在父类和子类中具有差异性

ningjian 2023-03-02

C#笔记

C#面向对象的三大特征是什么?/面向过程和面向对象的区别

封装,继承,多态;

面向过程和面向对象都是解决问题的逻辑方法,分析问题既可以用面向对象的方法 来思考,也可以用面向过程方法来解决,但两者还是有一定区别

面向过程:是分析问题并解决问题所需要的步骤,强调是解决问题的步骤。可以先定义多个函数,在使用的时候逐步调用函数即可

面向对象:是把问题分解成多个对象,强调的是解决问题的行为表现

ningjian 2023-03-02