用C#写差异文件备份工具

大家是不是平常都有好多文件需要定期备份?如歌曲、视频、文档,代码文件等等,如果经常增加删除修改文件,就需要定期备份,最早之前文件都不大的时候我都是手工先全部删除,然后再全部拷贝,感觉比较保险。后来有了很大的电影文件和很琐碎的代码文件之后,这样搞太折磨人,就学网上说的用Xcpoy组装了一个批处理。学了 ...

C#8.0之后接口已经不再单纯了,我懵逼了!

一:背景 1. 讲故事 大家在经过面向对象洗礼的时候,都了解过接口,而且知道它是一种自上而下的设计思路,举个例子,我们电脑上都有 USB 2.0 接口,蓝牙耳机实现了它可以进行充电,移动硬盘实现了它可以在电脑端显示硬盘内容,蓝牙鼠标实现了它可以进行鼠标操控,可以看出USB插口做出来后,谁来实现谁也搞 ...

C#语言下使用gRPC、protobuf(Google Protocol Buffers)实现文件传输

初识gRPC还是一位做JAVA的同事在项目中用到了它,为了C#的客户端程序和java的服务器程序进行通信和数据交换,当时还是对方编译成C#,我直接调用。 后来,自己下来做了C#版本gRPC编写,搜了很多资料,但许多都是从入门开始?调用说“Say Hi!”这种官方标准的入门示例,然后遇到各种问题…… ...

C#中的集合

C#中有很多集合类型,比如List<T>,Dictionary<TKey,TValue>,这些是我们常用的,但也有一些少众的场合使用的集合:特征类型的ReadOnly集合,Sort集合;封装特定算法类型的集合:Queue<T>(先进先出),Stack<T>(后进先出),LinkedList<T>(链 ...

[C#] (原创)一步一步教你自定义控件——03,SwitchButton(开关按钮)

一、前言 技术没有先进与落后,只有合适与不合适。 本篇的自定义控件是:开关按钮(SwitchButton)。 开关按钮非常简单,实现方式也多种多样,比如常见的:使用两张不同的按钮图片,代表开和关,然后在点击时切换这两张图片。 而本篇和前两篇一脉相承,都是继承Control,使用GDI+去实现。因为都 ...

IL角度理解C#中字段,属性与方法的区别

IL角度理解C#中字段,属性与方法的区别 1.字段,属性与方法的区别 字段的本质是变量,直接在类或者结构体中声明。类或者结构体中会有实例字段,静态字段等(静态字段可实现内存共享功能,比如数学上的pi就可以存在静态字段)。一般来说字段应该带有private 或者 protected访问属性。一般来说字 ...

C# .Net 判断IP地址是否符合某IP段技巧

在YuebonCore快速开发框架开源项目中涉及到当前登录用户登录IP是否被禁止登录访问系统,获取登录IP后怎么去判断过滤呢?我们采用将IP地址转为Int32数字型,然后去判断大小。 Sql sever IP地址转int型 cast(replace(StartIP,'.','') as bigint ...

Repository 简化实现多条件查询

Repository 在做查询的时候,如果查询条件多的话,linq查询表达式会写的很复杂,比如: 1 public IQueryable<Student> Get(int id, string name, string address, Status? status, DateTime create ...

分享套接字数据包序列化与反序列化方法

分享套接字数据包序列化与反序列化方法 简单说一下,本文不涉及Socket的连接、数据接收,只是对数据包(byte[])的序列化和反序列化方法的封装介绍。 本文目录 本文背景 一般操作 本文操作 总结 1.本文背景 经常做C/S,客户端与服务端通信基本是TCP/UDP通信,套接字用得飞起。 比如我们有 ...

技术债! 怎样简洁高效的实现多个 Enum 自由转换

一:背景 1. 讲故事 前段时间和同事负责一个项目的两个业务模块,可能大家缺少沟通,导致本该定义一个 Enum 的地方结果我俩各自定义了一个,导致后面这两个 Enum 进行对接就烦了,为了方便理解,也不想让大家看这崴脚的英文拼写,我就拿 银行 举例吧。 A同事 定义的枚举 public enum B ...

C#数据结构-队列

队列作为线性表的另一个数据结构,只允许在表的前端进行删除操作,而在表的后端进行插入操作,和栈一样,队列是一种操作受限制的线性表。 先来看下用法: Queue queue = new Queue(); queue.Enqueue(1); queue.Enqueue(2); queue.Enqueue( ...

C#属性与字段

C#属性与字段 国庆难得放松了一周,九月真的很大压力。代价是回到学校之后一直还债,加上红会那边全体大会、R社的百团招新,学业和自学没什么进展,但是也挤时间学了很多东西。这周相对没那么忙了,受狒狒哥的启发我也更新一下博客吧。(说那么多,只是想说我没有摸鱼) 字段 字段(field)是一种表示与对象或类 ...

C# / VB.NET 在PPT中创建、编辑PPT SmartArt图形

本文介绍通过C#和VB.NET程序代码来创建和编辑PPT文档中的SmartArt图形。文中将分两个操作示例来演示创建和编辑结果。 使用工具:Spire.Presentation for .NET hotfix 5.9.5 Dll文件引用: 方式1:下载包。下载后,解压,打开Bin文件夹,根据自己用的 ...

NPOI操作EXCEL

如果需要查看更多文章,请微信搜索公众号 csharp编程大全,需要进C#交流群群请加微信z438679770,备注进群, 我邀请你进群! ! ! 前言 1.整个Excel表格叫做工作表:WorkBook(工作薄),包含的叫页(工作表):Sheet;行:Row;单元格Cell。 2.忘了告诉大家npo ...

C#写的雪花分形

C#都没人用了吗,网上想找个现成的雪花分形代码,都没找见,有C++,有python,有java的,就没有C#的,自己试试写一个吧。 1 public partial class Form1 : Form 2 { 3 public Form1() 4 { 5 InitializeComponent() ...

如何写一段死锁代码

如何写一段死锁代码 Intro 上次介绍了如何写一段代码造成 StackOverflow ,今天来玩一下,看如何写一段代码造成死锁 什么是死锁 首先我们需要明确一下什么是死锁,造成死锁需要满足哪些条件,知道这些就可以轻松写出一段死锁代码了 死锁 是指两个或两个以上的进程(线程)在执行过程中,由于竞争 ...

<1···456···59>