.NET
CRonaldo9399
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
C#判断两个对象是否相等(重写Equals方法)
using System;using System.Collections.Generic;using System.Linq;using System.Threading.Tasks;namespace ConsoleAppTest{ class Program { static void Main(string[] args) { List<Student> students = new List<S..原创 2020-07-14 16:20:42 · 1002 阅读 · 0 评论 -
使用TreeView控件显示磁盘文件
using System;using System.Windows.Forms;using System.IO;namespace WindowsFormsApplication1{ public partial class Form1 : Form { public Form1() { InitializeCompo原创 2017-01-23 22:15:44 · 911 阅读 · 2 评论 -
从发布者和订阅者来看事件
写一个事件代码,只需要记住5个部分即可,如图所示:1.声明委托:事件和事件处理程序必须有共同的签名和返回类型,它们通过委托类型进行描述。2.声明事件:发布者类必须声明一个订阅者类可以注册的事件成员。3.触发事件:发布者类中触发事件,便会调用注册在事件上的所有事件处理程序。4.注册事件:订阅者必须订阅事件才能在事件被触发时得到通知。5.处理事件:订阅者会在事件发生后执行相原创 2017-01-31 22:41:28 · 2356 阅读 · 0 评论 -
C#一个服务器端多个客户端Socket通信
启动服务端后,服务端通过持续监听客户端发来的请求,一旦监听到客户端传来的信息后,两端便可以互发信息了。服务器端需要绑定一个IP和端口号,用于客户端在网络中寻找并建立连接。信息发送原理:将手动输入字符串信息转换成机器可以识别的字节数组,然后调用套接字的Send()方法将字节数组发送出去。信息接收原理:调用套接字的Receive()方法,获取对端传来的字节数组,然后将其转换成人可以读懂的字符串信息。原创 2017-10-19 21:23:44 · 4419 阅读 · 0 评论 -
C#导出数据库表至Excel中
添加Microsoft.Office.Interop.Excel引用写代码时,可能会报这个错:无法嵌入互操作类型 请改用适用的接口。那就要将嵌入互操作类型的值改为False。一个例子的完整代码using System;using原创 2016-12-29 21:06:01 · 2897 阅读 · 0 评论 -
异步编程Async/Await中的最佳做法
近日来,涌现了许多关于 Microsoft .NET Framework 4.5 中新增了对 async 和 await 支持的信息。 本文旨在作为学习异步编程的“第二步”;我假设您已阅读过有关这一方面的至少一篇介绍性文章。 本文不提供任何新内容,Stack Overflow、MSDN 论坛和 async/await FAQ 这类在线资源提供了同样的建议。 本文只重点介绍一些淹没在文档海洋中的最佳...转载 2018-11-11 11:49:14 · 608 阅读 · 0 评论 -
key不固定的Json字符串反序列化
接口接收到这么一个Json字符串,现在需要给它反序列化一下,可是它其中有一个key是不固定的。{"images":{"HTB1xVhfKpXXXXXmXVXXq6xXFXXXY.jpg":{"fileSize":119718,"groupId":"","height":666,"iid":3998011801,"width":1000,原创 2018-12-19 21:21:38 · 1437 阅读 · 0 评论 -
C#数组全排列
using System;using System.Collections.Generic;using System.Linq;namespace ConsoleAppTest{ class Program { static void Main(string[] args) { List<string>...转载 2019-03-28 19:43:50 · 828 阅读 · 0 评论 -
C# AES加密解密
/// <summary> /// AES加密 /// </summary> /// <param name="text">明文</param> /// <param name="password">密钥</param> ///...原创 2019-06-12 10:20:53 · 2493 阅读 · 0 评论 -
从栈和堆中来看值传递和引用传递
1 栈和堆1.1 栈栈是一个内存数组,是一个LIFO(Last-In First-Out,后进先出)的数据结构。栈存储几种类型的数据:某些类型变量的值;程序当前的执行环境;传递给方法的参数。栈有如下几个特征:数据只能从栈的顶端插入和删除。把数据放到栈顶称为入栈(push)。从栈顶删除数据称为出栈(pop)。栈是在编译期,由编译器分配好内存空间。 1.原创 2017-02-11 20:58:37 · 2836 阅读 · 1 评论 -
Winform控件属性事件介绍
目录1、窗体2、Label控件3、TextBox控件4、RichTextBox控件5、NumericUpDown控件6、Button控件7、GroupBox控件8、RadioButton控件9、CheckBox控件10、ListBox控件11、ComboBox控件12、CheckedListBox控件13、PictureBox控件的使用14、转载 2016-08-28 13:10:05 · 4322 阅读 · 0 评论 -
C#多态(虚方法,抽象,接口实现)
转自 浅谈C# 多态的魅力(虚方法,抽象,接口实现)前言:我们都知道面向对象的三大特性:封装,继承,多态。封装和继承对于初学者而言比较好理解,但要理解多态,尤其是深入理解,初学者往往存在有很多困惑,为什么这样就可以?有时候感觉很不可思议,由此,面向对象的魅力体现了出来,那就是多态,多态用的好,可以提高程序的扩展性。常用的设计模式,比如简单工厂设计模式,核心就是多态。其实转载 2016-09-12 19:03:39 · 394 阅读 · 0 评论 -
使用StreamReader和StreamWriter读取和写入文本文件
1.读取文本文件using System;using System.Collections.Generic;using System.Text;using System.Linq;using System.Collections;using System.Diagnostics;using System.IO;namespace 练习专用{ class Program原创 2016-12-20 20:02:59 · 8427 阅读 · 0 评论 -
将数据库中的表显示到dataGridView中
using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Threading.Tasks;using System.W原创 2016-12-20 21:15:45 · 2078 阅读 · 0 评论 -
正则表达式零宽断言
零宽断言:用于查找在某些内容(但并不包括这些内容)之前或之后的东西,也就是说它们像\b,^,$那样用于指定一个位置,这个位置应该满足一定的条件(即断言)。分类代码/语法说明零宽断言(?=exp)匹配exp前面的位置(?匹配exp后面的位置(?!ex原创 2016-12-26 19:22:24 · 577 阅读 · 0 评论 -
使用FileStream文件流实现大文件的拷贝
using System;using System.Collections.Generic;using System.Text;using System.Linq;using System.Collections;using System.Diagnostics;using System.IO;namespace 练习专用{ class Program {原创 2016-12-20 20:37:48 · 1184 阅读 · 0 评论 -
Winform利用委托实现子窗体传值给父窗体
首先,新建两个窗体,父窗体Form1和子窗体Form2,添加控件如下。实现在子窗体的textBox中输入字符,实时显示在父窗体的textBox中的功能。子窗体中代码:using System;using System.Windows.Forms;namespace WindowsFormsApplication1{ //声明一个委托,该委托有个string类型的参数原创 2017-01-09 21:15:50 · 825 阅读 · 0 评论 -
二进制流序列化(反序列化)和XML序列化(反序列化)
序列化(Serialization):序列化是将对象状态转换为可保存或传输的其它数据格式的过程。反序列化(Deserialization) :与序列化相对的是反序列化,将其它数据格式转换为对象的过程。作用:将对象中的数据转换成其它文件,方便信息的存储与交换。 .NET框架提供了三种序列化的方式: 1、使用BinaryFormatter进行序列化,类中的所有成员变量(甚原创 2017-02-06 20:43:55 · 1680 阅读 · 0 评论 -
单例模式的实现
单例模式:保证一个类仅有一个实例,并提供一个访问它的全局访问点。1.非线程安全 public sealed class A { private static A instance = null; private A() { } public static A getInstance() {原创 2016-08-23 21:48:44 · 285 阅读 · 0 评论