自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(85)
  • 资源 (1)
  • 收藏
  • 关注

原创 c# 复写Equals方法

List. Remove 无法移除引用类型;C#Equal怎么复写

2022-03-24 17:36:29 1374

原创 confluence水印;PDF按钮

(function() { console.log('Confluence Watermark Remover loaded.'); var target = document.body; var config = { attributes: true, childList: true, characterData: true }; var observer = new MutationObserver(function(mutations) { mutat.

2022-01-14 10:32:20 455

原创 检查档名是否合法(windows下)

bool CheckFileNameValid( string szFileName ) { if( String.IsNullOrEmpty( szFileName ) ) { return false; } string[] szSpecialCharacterArray = new string[] { "\\", "\"", ">", "<", ":", "*", "?", "|", "/" }; for( int i = 0; i < ...

2022-01-05 17:42:49 291

原创 c# 查询苏州优租房排号

背景:申请优租房以后,想时刻关注进度,每次都需要手动查询会很麻烦,所以想要一个可以自动查询,后台运行的小软件。查询网址:http://ent.sipprh.com:8000/ModuleDefaultCompany/RentManage/RentNumberSearch1.首先要知道输入身份证号,按下【查询】后发送出去了什么。具体步骤为①输入查询号②按F12(chorm内核)③选到NetWork④按查询⑤选择左边Name栏中的最新一项目⑥找到FromData⑦选择ViewSource 就可以看到了:【C

2021-05-28 18:24:07 194

原创 C# 打开某个目录

System.Diagnostics.Process.Start( szCurrentDirectory );

2021-05-26 14:51:21 555

原创 获取十进制数转换为二进制后某一位的值

代码参考如下: // 具体做法是将十进制数通过[>>]操作符右移,然后再和1求【与】。和1求与相当于和[00000001]求与,这样得到的结果只需要看最后一位是否为1就好。 注:[&]操作符简介: 1&1=1; 0&1=0; 0&0=0; 1&0=0 (简单说就是只有[1&1]为1,其它结果都是0) internal bool DeterminesValueOfOneBitInBinary( int nNeedConvertedToBin

2021-05-21 14:43:35 600

原创 求两个三维向量的夹角(带正负)

1、数学上,两个三维向量是没有正负的。但是从公垂线的角度来看,可以有方向性。参考如下:三维空间中两个向量会有一条公垂线(向量叉乘可以求得),以公垂线为轴,将第二个向量旋转一个角度,使其与第一个向量平行.这个角度即为两向量的夹角.因为向量叉乘所得到的公垂线是一个有方向的向量,假如你用右手握住公垂线,大姆指的方向指向公垂线方向.假如你只能以食指所指的方向旋转第二个向量,那么旋转的角度就应该在0到2*PI之间.所以说值域为(-pi,pi)也是有道理的.作者:叶飞影链接:https://www.zhihu.c

2020-08-04 16:08:37 15069 4

原创 判断是当前平台是32位还是CE平台

// CheckCurrent System#if WINCE // CE平台#else // 32位平台#endif

2020-04-10 15:40:17 129

原创 移除一个List 或者 Array 中重复的项目

这里主要是通过两层For循环来实现的,重复的规则自己定制。 for( int i = 0; i < PipeBendList.Count; i++ ) { for( int j = PipeBendList.Count - 1; j > i; j-- ) { if( PipeBendList[ i ].IsEqual( PipeBendList[ j ] ) )...

2020-02-25 09:26:08 152

原创 UML图——五种常用的关联属性详解

UML图功能:UML图主要是为了体现各个类之间的关系以及整体架构的。因此通常情况下都只需写出Publc/Internal方法、属性即可。(就算是私有的方法非常重要,如果没有体现和其余类之间关系,可以不写)一、聚合Aggregation(拥有关系):体现了整体与部分如:学校与学生之间二、关联Directed Association(使用关系):学生和书本这里分两种情况2.1 A类中有B...

2019-12-19 14:41:40 2697

原创 NotePad++搜索文件内容功能:找寻按键列

应用场景:假设OpenCnc Shared文件夹下有三个文件,实际只有修改其中一个才能真正改到内容,而我们只找到另外一个或两个。解决办法:首先确定客制一定在OpenCnc Shared中,而且三个文件有的内容一定是一模一样的,例如文字显示部分:<Title>Str::Fenu::main::MachineMaker</Title>。这个时候用NotePad++打开其中一...

2019-12-17 11:56:31 1305

原创 #if 编译/调试技巧——若遇到需要不同情况下,编译不同的代码

应用情景1:当需要调试的时候,用的代码1,release时候用代码2,具体如下: int a;#if DEBUG a = 1;#else a=2;#endif应用情景2:当需要同时能在CE、32上都能编译运行的时候,例如都要用共同的代码,但是就只有很少一部分代码不一样。 int a;#if WINCE a = 1;#else a=2;#endif...

2019-12-16 15:50:53 191

原创 引用开源代码问题

GPL协议的主要内容是只要在一个软件中使用(“使用"指类库引用,修改后的代码或者衍生代码)GPL 协议的产品,则该软件产品必须也采用GPL协议,既必须也是开源和免费。这就是所谓的"传染性”。LGPL允许商业软件通过类库引用(link)方式使用LGPL类库而不需要开源商业软件的代码。...

2019-12-16 12:10:40 1971

原创 一个DLL 中有多个画面档

一、首先修改config档,如下:<Plugin Name="OptimizedWorkinglist" Type="Syntec.Plugins.ScrEntry_OptimizedWorkinglistMain" File="OptimizedWorkinglistCE.dll" Description=""/><Plugin Name="CSVFilesSetting...

2019-12-06 18:02:59 105

原创 线程的创建传值、Mutex :多个线程想要控制同一个资源

一、线程运行如果要带入参数,可以选择创建类的方法来实现——每实例化一个类的对象,在建构子中就可以开一个线程做事。这样就能把参数传入建构子中,在建构子中对类的字段赋值,避免了线程调用带参数。二、Mutex ,当多个线程控制同一个资源时,一般要注意不能让多个线程同时操作它,这时引入Mutex 。定义:Mutex mutex = new Mutex();使用: Mutex就像一个旗标,只有拿着这个...

2019-11-29 17:28:35 310

原创 .bat 批处理文件

简介:方便、灵活、功能强大。运行平台:DOS应用:可以带参数的打开一个程序,如运行浏览器打开某个网址。主要语句:命令列 cmb line1.打印:@echo 要打印的内容2.运行程序:直接写程序名,若在当前路径下有这个程序就可以运行带参数打开程序:如console程序如如何传入Main(string[] args),代码为@ConsoleApplication 123 355,此时arg...

2019-11-28 12:05:40 139

原创 Socket TcpIP总结

1、一般情况下,接收端和发送端长度要匹配2、Send()方法在执行的时候,若多次送出了,但是接收方没有Receive(),此时,可能执行Send时候会有问题(eg:阻塞)。3、Receive()方法实质上并不是接收,而是从缓存区拿东西。因此若是发送方将一整个数据分成多次发送,则接收方也要对应的要多次Receive,然后拼接起来。如发送方是 for( int i = 0; i < ...

2019-11-26 14:41:02 184

原创 当两个类都要用到同一个方法同一段代码时,如何优化

当两个类都使用到了同一个方法,且实现的目的完全一样。这样就会在两个地方出现相同的代码。这种情况下有两个方法来解决:方法1、建立一个静态的工具类,将这个方法放进去,这样大家都能调用了方法2、建立一个Project,专门用来生成dll文件的,然后引用这个dll...

2019-11-21 10:02:23 1354

原创 C# 获取系统当前时间——时 : 分

方法1、DateTime.Now.ToShortTimeString().ToString()方法2、DateTime.Now.ToString( "t" )

2019-11-21 09:44:47 1436

原创 C#培训2019-11-20 ChatRoom作业——老师提出的问题总结

1、在Console程序中,Main函式一般不会做事,只是把别人new出来,因为如果做事就会被static限制住。并且一般不会只new,一般new完后会调用方法来“开始”。2、Server的manager人有两个全局变量,一个存着所有的与客户端对接的人,一个存着客户的名称。:这样从维护性来讲不好,因为别人在移除时可能不知道要移除List内容时候,要同时移除两个。同时前者又能实现后者的全部功能。...

2019-11-20 14:34:21 113

原创 Socket传输时 去掉接收到的多余信息“\0”

"\0"代表的是截止符,去除的方法有:方法一: szRepeated.Trim( ‘\0’ )//这个方法有时候不是很好用方法二:szRepeated.Replace( "\0", "" )//将0替换成空字符

2019-11-19 12:15:13 1569 1

原创 C#培训2019-11-19 Socket 判断是否还连接着

利用以下代码就可以判断是否连接。其中“10”表示等待响应时间(ms) // check is connected if( m_acceptSocket.Poll( 10, SelectMode.SelectRead ) == true ) { return; }

2019-11-19 09:14:44 169

原创 C#在textbox输入后,按enter键就会相当于按一个按钮

form里找到AcceptButton属性,选择你要ENTER的按钮就可以了,不用对按钮和textbox操作。

2019-11-19 09:00:32 3162

原创 C# 无需使用的对象怎么清除

某些时候我们不想用一些对象时,希望它清除掉。这时候怎么办呢?或者说什么时候才能清除呢?答:首先c#是有垃圾回收机制的,当一个对象没有任何变量指向它时,就会被垃圾回收器(GC)回收,但是不一定是立刻回收。其次如果对象中开了一个线程在做事,此时垃圾回收器就不一定会回收它了。直到这个线程做完事情了,才会一定被回收。...

2019-11-18 17:53:52 1531

原创 Threading中的Timer用法

在前面的数独题目中,若自动解题功能想要计时,而算的时间又比较长,此时使用Windows.Form.Timer进行刷新会卡住不刷新。当时是使用多开一个线程来解决这个问题的,其实可以使用Threading中的Timer来解决,如: public Sudoku() { // 500ms执行一次 Timer timer = new Timer( new TimerCallback( T...

2019-11-15 14:43:16 1005

原创 C#培训2019-11-15 Socket 实现两个应用之间通信(相同/不同主机之间)

Socket利用TCP/IP通信方法,实现一台主机中两个应用通信,或者多台主机中应用的通信。引用using System.Net.Sockets; using System.Net;1、Server端设置:Server端主要是用来监听Client端是否有连接的。范例代码如下:using System;using System.Collections.Generic;using Syste...

2019-11-15 10:47:19 837

原创 ListView控件的使用方法(detail模式)

首先将View属性的值改为Details;一、创建表题参考代码如下: void Form1_Load( object sender, EventArgs e ) { lsvRecord.Columns.Add( "Room", 60, HorizontalAlignment.Center ); lsvRecord.Columns.Add( "Name", 100, Hori...

2019-11-14 14:48:15 1181

原创 不引用dll如何调用dll链接库(动态调用,不知道有没有这个dll)

类似于人机在Plugin中调用的dll,方法如下:static void Main( string[] args ) { // 读取dll Assembly assembly = Assembly.LoadFrom( "ClassLibrary.dll" ); //获取要实例化类的类型 Type type = assembly.GetType( "ClassLib...

2019-11-14 14:46:40 310

原创 VS更换生成路径以及选择调试软件

一、若程式只是要生成的dll文件,则就需要经常复制1、可以更换生成文件的输出路径,修改输出路径后,bulid后生成的dll以及其余的文件都会在选择的文件夹路径下2、定义生成事件宏:可以定义生成事件后的动作,例如复制dll文件到另一个文件夹二、选择调试exe在调试中,选择启动外部 程序,同时要选择对应的bin工作目录。选择好直接启动就OK了。...

2019-11-13 09:54:50 1594

原创 里式转换的好处/应用——父类引用指向子类对象——定义一个父类的变量,指向子类的对象

里式转换是什么前面有文章将的很清楚了,详见:https://blog.csdn.net/qq_41617697/article/details/102931282这里讲一下好处:①同一行代码,因为new的类不同,因此执行的效果就不同②责任分清楚:例如在人机画面中,有一个人叫“ScreamManager”,他不需要知道每一个Scream,但是又同时又要控制它,分别对应不同的方法。...

2019-11-12 11:11:10 135

原创 winform中将关闭Form变成隐藏(Hide)起来,防止下一次Show出错

在Form的closing事件中,对关闭窗体进行取消,同时隐藏窗体: void ReservationRecordUI_FormClosing( object sender, FormClosingEventArgs e ) { e.Cancel = true; Hide(); }...

2019-11-12 10:55:50 2908

原创 CheckBox放在一个groupbox中 考虑拓展性

1、挂载Checkbox的事件时候,可以先遍历GroupBox中有几个CheckBox控件,若有,则直接挂载,这样的话新增一个Checkbox,不用新增挂载代码;2、所有的CheckBox的事件也是挂载同一个方法,这样就可以避免新增时候多写一个方法。...

2019-11-08 16:36:38 1137

原创 params关键字,指定一个方法参数,该方法参数的数目可变。

使用 params 关键字可以指定采用数目可变的参数的方法参数。可以发送参数声明中所指定类型的逗号分隔的参数列表或指定类型的参数数组。 还可以不发送参数。 如果未发送任何参数,则 params 列表的长度为零。在方法声明中的 params 关键字之后不允许有任何其他参数,并且在方法声明中只允许有一个 params 关键字。声明的 params 参数类型必须是一维数组。具体的使用方法可见MS...

2019-11-08 10:40:03 593

原创 什么时候可以用static修饰方法

static非常好用,但是我们要记得不能滥用,不能只是因为可以省去new对象的优点,就直接把方法变成静态方法。什么情况下用static修饰方法呢?①用法很单纯,只有这边用(例如求某个数列的第几项)②只是用这个类里面的方法,就没有必要把它整个实例化出来。...

2019-11-07 09:31:25 701 1

转载 父类引用指向子类对象——定义一个父类的变量,指向子类的对象

我定义了一个子类Cat,它继承了Animal类,那么后者就是前者是父类。我可以通过Cat c = new Cat();实例化一个Cat对象,这个不难理解。但当我这样定义时:Animal a = new Cat();这样代表什么意思呢?我定义了一个Animal类型的引用,指向新建的Cat类型的对象。由于Cat是继承自它的父类Animal,所以Animal类型的引用是可以指向Cat类型的...

2019-11-06 11:11:43 1588 1

原创 C#培训2019-11-4 架构讨论

jira:确定是否bug,进行处理,最终议题;SyntecIDE(SI):所有软件都在的例题1:新增加密功能,有三个类,1、加密管理者;2、检查是否合法;3、插入检查方法;4、加密。...

2019-11-04 17:56:11 203

原创 获取当前活动控件(光标所在的textbox控件)

利用一下代码:TextBox CurrentInputTextbox = this.ActiveControl as TextBox;

2019-11-04 16:11:28 783

原创 如何跨线程调用winform窗体控件

方法一:直接关闭异常,不检查跨线程调用 private void Form1_Load(object sender, EventArgs e) { // 在Load中加入下面这行代码:不检查跨线程的调用是否合法 Control.CheckForIllegalCrossThreadCalls = false; ...

2019-10-31 11:46:42 442

原创 C#培训2019-10-30 Struct 的使用

在求解数独的过程中,若不使用继承的方法做,可以创建一个List以及一个Struct,Struct中包含 行、列以及方块所在区块的信息。然后将Struct装在List中,List的长度为81。这样每一个textbox都对应了一个Struct,都有 行、列以及所在区域的信息。使用Struct和使用Class问:这一题中其实使用Class也能实现上述功能,但是为什么要用Struct,或者何时用Str...

2019-10-31 09:05:30 132

原创 C#培训2019-10-30 数独问题 老师讲解

一、Magic Number问题1、有些数字不用单独的变量装其实也可以,也不算是MagicNumber,例如ASCII中的96 48之类的。2、实在有一些数字不想用变量装,可以注释讲清楚。例如下面的代码,2/6、3/5也没有什么独特的含义,只是用来区分区块的。并且呢其他地方也调用不到这个函数,这个时候可以注释清楚作用是什么就行。 // Change the color of the four...

2019-10-30 13:43:30 107

WpfApplication1.zip

语言C# 环境 VS2015

2021-05-28

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除