摘要: C#里List.Sort的用法 IComparer接口及Comparison委托应用于集合排序 需要对list进行排序,可以用list.Sort()方法。该方法有多个重载。 (1)使用IComparer<T>接口 可以为Sort传入IComparer<T>的实现类的实例对象,该接口为: void S 阅读全文
posted @ 2019-12-11 10:54 冬音 阅读(1655) 评论(0) 推荐(0) 编辑
摘要: 通过查阅网上相关资料和查看微软源码,我对Dictionary有了更深的理解。 Dictionary,翻译为中文是字典,通过查看源码发现,它真的内部结构真的和平时用的字典思想一样。 我们平时用的字典主要包括两个两个部分,目录和正文,目录用来进行第一次的粗略查找,正文进行第二次精确查找。通过将数据进行分 阅读全文
posted @ 2019-12-05 15:20 冬音 阅读(6388) 评论(0) 推荐(1) 编辑
摘要: C#中的dynamic用于避免编译时类型检查,编译器在运行时获取类型。 dynamic无法使用VisualStudio的intelliSense(智能感知),即调用dynamic修饰的对象的方法或字段,实际对应的方法或字段修改名称,不能智能修改dynamic修饰的对象调用的代码。 https://w 阅读全文
posted @ 2019-12-04 20:09 冬音 阅读(558) 评论(0) 推荐(0) 编辑
摘要: https://www.cnblogs.com/yaosj/p/10342883.html 阅读全文
posted @ 2019-11-22 21:01 冬音 阅读(82) 评论(0) 推荐(0) 编辑
摘要: 直接看一个例子 private async void button1_Click(object sender, EventArgs e) { var t = Task.Run(() => { Thread.Sleep(5000); return "Hello"; }); string text = 阅读全文
posted @ 2019-11-22 17:49 冬音 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 在 Windows Vista 及之后的版本中,每个Unicode字符都使用UTF-16编码,UTF的全称是 Unicode Transformation Format(Unicode 转换格式)。UTF-16将每个字符编码为2个字节(或者说16位)。Windows 之所以使用 UTF-16,是因为 阅读全文
posted @ 2019-11-19 21:49 冬音 阅读(2221) 评论(0) 推荐(0) 编辑
摘要: 最开始写代码,都是经过编译后生成汇编码,直接在cpu上执行。 因为不同的硬件架构和操作系统,会导致不同的cpu支持的指令可能不同,也就是说不通类型的cpu所能执行的代码就是我们说所的本地代码,也叫本机代码或者native代码。这给程序的移植性带来很很大的麻烦,我们在一台机器上运行的好好的代码,如果拿 阅读全文
posted @ 2019-11-19 18:28 冬音 阅读(593) 评论(0) 推荐(1) 编辑
摘要: log查看工具log2console介绍:https://www.cnblogs.com/TianFang/archive/2013/03/27/2985296.html Log2Console日志监测工具使用方法:https://www.cnblogs.com/lts8989/archive/20 阅读全文
posted @ 2019-11-18 10:32 冬音 阅读(498) 评论(0) 推荐(0) 编辑
摘要: https://www.wdlinux.cn/wdcp/install.html https://www.wdlinux.cn/bbs/thread-57643-1-1.html 阅读全文
posted @ 2019-10-20 14:17 冬音 阅读(252) 评论(0) 推荐(0) 编辑
摘要: 数据在网络传输过程中的保密性是网络安全中重点要考虑的问题之一。由于通过网络传递数据是在不安全的信道上进行传输的,因此通信双方要想确保任何可能正在侦听的人无法理解通信的内容,而且希望确保接收方接收的信息没有在传输期间被任何人修改,最好的办法就是在传输数据前对数据进行加密,接收方接收到加密的数据后再进行 阅读全文
posted @ 2019-10-16 20:11 冬音 阅读(1505) 评论(0) 推荐(0) 编辑
摘要: 方法1:([\w-\.]+)@((\[[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.)|(([\w-]+\.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(\]?) 方法2:\w+([-+.']\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+) 阅读全文
posted @ 2019-10-16 14:27 冬音 阅读(2761) 评论(0) 推荐(0) 编辑
摘要: 利用TcpListener和TcpClient类在同步方式下接收、发送数据以及监听客户端连接时,在操作没有完成之前一直处于阻塞状态,这对于接受、发送数据量不大的情况或者操作勇士较短的情况下是比较方便的。但是,对于执行完成时间可能较长的任务,如传送大文件等,使用同步操作可能就不太合适了,这种情况下,最 阅读全文
posted @ 2019-10-12 21:55 冬音 阅读(1904) 评论(0) 推荐(0) 编辑
摘要: EventWaitHandle 类用于在异步操作时控制线程间的同步,即控制一个或多个线程继行或者等待其他线程完成。 构造函数 initialState设置初始状态,如果为true,则WaitOne()在调用Reset()方法前不会阻塞线程,先调用Reset()再调用WaitOne()会阻塞WaitO 阅读全文
posted @ 2019-10-11 22:17 冬音 阅读(8222) 评论(0) 推荐(4) 编辑
摘要: #git初始化 git init #全局级配置,如果没有仓库级别的特殊配置,默认读取这个配置 git config --global user.name "name" git config --global user.email "email" #仓库级配置,一般一个项目配置一次 git confi 阅读全文
posted @ 2019-10-10 19:23 冬音 阅读(905) 评论(0) 推荐(0) 编辑
摘要: 不论是多么复杂的TCP 应用程序,双方通信的最基本前提就是客户端要先和服务器端进行TCP 连接,然后才可以在此基础上相互收发数据。由于服务器需要对多个客户端同时服务,因此程序相对复杂一些。在服务器端,程序员需要编写程序不断的监听客户端是否有连接请求,并通过套接字区分是哪个客户;而客户端与服务器连接则 阅读全文
posted @ 2019-10-10 18:03 冬音 阅读(714) 评论(0) 推荐(0) 编辑
摘要: TCP 是Transmission Control Protocol(传输控制协议)的简称,是TCP/IP 体系中面向连接的运输层协议,在网络中提供全双工的和可靠的服务。一旦通信双方建立了TCP 连接,连接中的任何一方都能向对方发送数据和接收对方发送来的数据。发送数据时,程序员可以通过程序不断将数据 阅读全文
posted @ 2019-10-10 17:21 冬音 阅读(488) 评论(0) 推荐(0) 编辑
摘要: 流(stream)是对串行传输的数据的一种抽象表示,底层的设备可以是文件、外部设备、主存、网络套接字等等。 流有三种基本的操作:写入、读取和查找。 如果数据从内存缓冲区传输到外部源,这样的流叫作“写入流”。 如果数据从外部源传输到内存缓冲区,这样的流叫作“读取流”。 在网络上传输数据时,试用的是网络 阅读全文
posted @ 2019-10-10 16:31 冬音 阅读(817) 评论(0) 推荐(1) 编辑
摘要: 修改本地组策略: 计算机配置>管理模板>系统>凭据分配>加密Oracle修正 选择启用并选择"易受攻击"。 原文:https://blog.csdn.net/shaoyezhangliwei/article/details/86493666 阅读全文
posted @ 2019-10-10 15:11 冬音 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 在System.Threading 命名空间下,包含了用于创建和控制线程的Thread 类。对线程的常用操作有:启动线程、终止线程、合并线程和让线程休眠等。 1 启动线程 在使用线程前,首先要创建一个线程。其一般形式为: 其中enterPoint 为线程的入口,即线程开始执行的方法。在托管代码中,通 阅读全文
posted @ 2019-10-09 21:53 冬音 阅读(9321) 评论(0) 推荐(0) 编辑
摘要: Internet 网络资源非常丰富,几乎涉及到日常生活和研究的各个方面。流行的搜索引擎像Google、百度、雅虎等都能完成快速搜索网络资源的功能。本节我们将学习用C#实现这些功能的基本思路。 在System.Net 命名空间中,有一个WebClient 类,该类提供向URI 标识的任何本地、Intr 阅读全文
posted @ 2019-10-09 19:59 冬音 阅读(799) 评论(0) 推荐(0) 编辑