C#
天涯遍地是小草
这个作者很懒,什么都没留下…
展开
-
C#中partial关键字
1. 什么是局部类型?C# 2.0 引入了局部类型的概念。局部类型允许我们将一个类、结构或接口分成几个部分,分别实现在几个不同的.cs文件中。局部类型适用于以下情况:(1) 类型特别大,不宜放在一个文件中实现。(2) 一个类型中的一部分代码为自动化工具生成的代码,不宜与我们自己编写的代码混合在一起。(3) 需要多人合作编写一个类。局部类型是一个纯语言层的编译转载 2016-08-11 16:25:13 · 348 阅读 · 0 评论 -
C# winform总结
C# 双击全窗口/全屏显示和恢复 WinForm载入窗体完成后自动执行事件 c#怎样在第2个窗体关闭时将数值返回给第一个窗体 C#:透明按钮原创 2018-04-02 15:42:49 · 485 阅读 · 0 评论 -
使用 MQTTnet 实现 MQTT 通信示例
一、什么是 MQTT ? MQTT(Message Queuing Telemetry Transport,消息队列遥测传输)是 IBM 开发的一个即时通讯协议,有可能成为物联网的重要组成部分。MQTT 是基于二进制消息的发布/订阅编程模式的消息协议,如今已经成为 OASIS 规范,由于规范很简单,非常适合需要低功耗和网络带宽有限的 IoT 场景。二、MQTTnet MQ...原创 2018-05-09 16:02:07 · 18586 阅读 · 8 评论 -
C#使用YAML基础语法和心得
引言YAML所表示的YAML Ain’t Markup Language,YAML 是一种简洁的非标记语言。YAML以数据为中心,使用空白,缩进,分行组织数据,从而使得表示更加简洁易读。一个YAML转化JSON网页,链接C#需要使用一些库来方便快捷的读写yaml文件,官方链接上给了这些信息: C#/.NET: - YamlDotNet # YAML 1.1 li...原创 2018-05-03 15:33:58 · 8510 阅读 · 1 评论 -
C#读写yaml文件
序列化/反序列化类这是一个序列化和反序列化的源文件,可以直接用using System;using System.Collections.Generic;using System.IO;using System.Linq;using System.Text;using System.Threading.Tasks;using YamlDotNet.Serialization;...原创 2018-05-10 09:29:33 · 8688 阅读 · 0 评论 -
C#实现DES加密解密
DES全称为Data Encryption Standard,即数据加密标准。1997年数据加密标准DES正式公布,其分组长度为64比特,密钥长度为64比特,其中8比特为奇偶校验位,所以实际长度为56比特。现在DES已经被AES所取代。 DES原理和具体计算过程示例可以参考:DES加密教程详细解读C#可以使用自带的类库简单的完成DES加密,主要用到以下三个类: MemoryStream ...原创 2018-06-01 16:48:55 · 19248 阅读 · 2 评论 -
C# 标准性能测试
转载主要为了方便查找,复制的格式有点问题,建议直接看原文知识共享许可协议 本作品采用Attribution-NonCommercial-ShareAlike 4.0 International (CC BY-NC-SA 4.0)进行许可。原文作者:林德熙(链接:http://blog.csdn.net/lindexi_gd )。经常我写一个类,作为一个工具类,小伙伴会问我这个类的性能,...转载 2018-06-19 16:45:48 · 1018 阅读 · 0 评论 -
C#多线程
一、引言1.1 线程概念如果对什么是线程、什么是进程仍存有疑惑,请先Google之,因为这两个概念不在本文的范围之内。一些基本概念: * 多线程:指的是这个程序(一个进程)运行时产生了不止一个线程 * 并行:多个cpu实例或者多台机器同时执行一段处理逻辑,是真正的同时。 * 并发:通过cpu调度算法,让用户看上去同时执行,实际上从cpu操作层面不是真正的同时。并发往往在场景中...原创 2018-07-28 15:07:13 · 392 阅读 · 0 评论 -
小白设计模式入门(1)——单例模式
一、简介什么是单例模式? 单例可以理解为一个类只有一个实例,因此单例模式就是为了保证这个类只会有一个实例而总结的一种方法。它在什么情况下使用的? 从单例模式的定义中我们可以看出——单例模式的使用自然是当我们的系统中某个对象只需要一个实例的情况,例如:操作系统中只能有一个任务管理器,操作文件时,同一时间内只允许一个实例对其操作等。二、原理由此,单例模式有两个关键点:1)确保...原创 2018-07-26 10:32:37 · 216 阅读 · 0 评论 -
设计模式总结
一、引言 之前看过一遍设计模式,但是记不住,找了一个感觉写的挺好的博客:C#设计模式总结,跟着写了一遍,这里记录一下学习过程。 水平不高,目前感觉不同的面向对象的语言的设计模式应该类似,C#用的比较熟悉,所以用的是C#版本。 建议自己理解后写一遍。博客没更新完,说明我正在尝试自己实现中(〃^ω^) 。不过也可以从我github上的clone了参考: https://github...原创 2018-07-23 08:41:47 · 303 阅读 · 0 评论 -
小白设计模式入门(3)——工厂方法模式
一、引言简单工厂模式的缺点中,有一条是:添加新产品时必须修改简单工厂方法,可能会造成简单工厂的实现逻辑过于复杂。工厂方法模式可以解决这个问题。其它设计模式可以参考设计模式总结 完整示例可以参考我的GitHub二、实现示例 public interface IEquipCreator { IEquip CreateFactory(); } ...原创 2018-08-15 07:26:27 · 254 阅读 · 0 评论 -
C#设计模式
最近把设计模式完整看了一遍~看完感觉,要再多看即便,并且写代码的时候要想着能不能用设计模式~转载自:http://www.cnblogs.com/zhili/p/DesignPatternSummery.html经过这段时间对设计模式的学习,自己的感触还是很多的,因为我现在在写代码的时候,经常会想想这里能不能用什么设计模式来进行重构。所以,学完设计模式之后,感觉它会慢慢地影响到你写代码...转载 2018-04-08 11:32:07 · 244 阅读 · 0 评论 -
C# DirectInput游戏手柄和键盘开发心得2(SharpDX版)
1、SharpDX下载VS下载:项目右键——管理nuget程序包——浏览——搜索SharpDX——下载搜索SharpDX.DirectInput——下载我是在这里两个都下了,应该是自动识别你当前的.Net Framework版本,有的.Net Framework版本可能没有貌似官网http://sharpdx.org/1、using如果从nuget下载的原创 2017-11-22 16:41:32 · 7325 阅读 · 3 评论 -
C# 双击全窗口/全屏显示和恢复
想全屏的控件-事件里用MouseDoubleClick遮盖在想全屏的控件上的属性Enabled设置为false,避免捕捉不到双击C#代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using原创 2017-02-21 22:55:28 · 2850 阅读 · 0 评论 -
WinForm载入窗体完成后自动执行事件
一、以下是网络上可搜索到的次序 当 Windows Form 应用程序启动时,会以下列顺序引发主要表单的启动事件: System.Windows.Forms.Control.HandleCreated System.Windows.Forms.Control.BindingContextChanged System.Windows.Forms.Form...原创 2017-02-21 23:39:54 · 29355 阅读 · 3 评论 -
C# 多线程编程入门
收集部分C#多线程编程入门级知识一、使用线程的理由1、可以使用线程将代码同其他代码隔离,提高应用程序的可靠性。2、可以使用线程来简化编码。3、可以使用线程来实现并发执行。二、基本知识1、进程与线程:进程作为操作系统执行程序的基本单位,拥有应用程序的资源,进程包含线程,进程的资源被线程共享,线程不拥有资源。2、前台线程和后台线程:通过Thr转载 2017-02-20 19:19:35 · 383 阅读 · 0 评论 -
C# 判断文件是否存在和文件读写
一、文件是否存在c#中操作IO非常简单,下面介绍如何判断文件夹或文件是否存在的方法。 代码如下: //判断文件夹是否存在,不存在则创建文件夹 if (!System.IO.Directory.Exists(@"E:\Files")) { System.IO.Directory.CreateDirectory(@"E:\Files");//不存在就创建文件夹 } //转载 2017-03-05 22:32:28 · 20314 阅读 · 0 评论 -
C#中volatile的用法
恐怕比较一下volatile和synchronized的不同是最容易解释清楚的。volatile是变量修饰符,而synchronized则作用于一段代码或方法;看如下三句get代码:int i1; int geti1() {return i1;}volatile int i2; int geti2() {return i2;}int i3;转载 2017-07-25 15:47:03 · 945 阅读 · 0 评论 -
多线程学习笔记——判断线程状态
一、C#多线程状态判断http://blog.csdn.net/deandingding/article/details/39762489C#多线程有很多值得学习的地方,这里我们主要介绍C# ThreadState属性,包括介绍主线程Main()函数和线程的优先级等方面。主线程Main()函数所有线程都是依附于Main()函数所在的线程的,Main()函数是C#程序的入口,起始线程转载 2017-07-27 09:38:22 · 2660 阅读 · 0 评论 -
多线程学习笔记——lock
一. 为什么要lock,lock了什么?当我们使用线程的时候,效率最高的方式当然是异步,即各个线程同时运行,其间不相互依赖和等待。但当不同的线程都需要访问某个资源的时候,就需要同步机制了,也就是说当对同一个资源进行读写的时候,我们要使该资源在同一时刻只能被一个线程操作,以确保每个操作都是有效即时的,也即保证其操作的原子性。lock是C#中最常用的同步方式,格式为lock(objectA){原创 2017-07-27 09:50:00 · 225 阅读 · 0 评论 -
c#怎样在第2个窗体关闭时将数值返回给第一个窗体
参考了https://zhidao.baidu.com/question/2015149438371115148.htmlhttp://blog.csdn.net/kankankankan2222/article/details/8178872第一个Form,Form1: string value = string.Empty;原创 2017-10-28 11:54:28 · 9514 阅读 · 0 评论 -
.NET C# Tostring() format 格式化字符串大全
C 货币 2.5.ToString("C") ¥2.50 D 十进制数 25.ToString("D5") 00025 E转载 2017-10-26 15:46:19 · 1523 阅读 · 1 评论 -
C# DirectInput游戏手柄开发心得
1、usingusing Microsoft.DirectX;using Microsoft.DirectX.DirectInput;2、环境我用的是vs2015, 项目-属性目标框架原创 2017-07-11 10:39:47 · 3794 阅读 · 0 评论 -
小白设计模式入门(2)——简单工厂模式
一、简介什么是简单工厂模式?在现实生活中,工厂是负责生产产品的。在设计模式中,可以简单类比为:简单工厂模式负责生产对象的一个类。我们平常编程中,当使用”new”关键字创建一个对象时,此时该类就依赖与这个对象,也就是他们之间的耦合度高,当需求变化时,我们就不得不去修改此类的源码。如果需求变化不多,项目开发人员不多,项目较小,那么这样的修改是可行的,但是当修改的代价较大时,应该尽量避免这种...原创 2018-08-13 11:45:19 · 264 阅读 · 1 评论