自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(10)
  • 收藏
  • 关注

原创 二分查找算法

/// <summary>/// 根据传入的数组和要查找的数值,返回数组中与查找的数值一样的元素的索引/// </summary>/// <param name="array">排好序的数组</param>/// <param name="iValue">要查找的数值</param>/// <returns></returns>private static int Search(int[] a...

2020-06-15 09:59:23 144

原创 几种常用数据结构本质简介

1.ArrayList默认容量:4字节增长因子:2倍,不可更改本质:数组2.List默认容量:4字节增长因子:2倍,不可更改本质:数组3.Queue默认容量:32字节增长因子:2倍,可根据构造函数传入,范围1~10,可包含最小增长容量:4,当增长因子为1 或者 增长因子 乘于 queue容量 还小于 queue容量 + 4时 需要为容量 + 4本质:数组4.Stack默认容量:4字节增长因子:2倍本质:数组5.Dictionary默认容

2020-06-12 11:54:36 263

原创 Redis之五中数据存储结构(还有三种未记录)

1.String1.1.数据存储方式以key-value方法进行存储1.2.存储内容主要存储字符串1.3.其他相关其实也可以存储对象,可以通过序列化的方式转化为字符串进行存储,或者每一个属性进行存储一次,但这会浪费空间,因为string类型的value存储最少需要用512byte的存储空间(超出*2)2.Hash2.1.数据存储方式以 id--{key-value,key-value,key-value}方式进行存储,因为需要以id进行查找,所以要存储的对.

2020-05-31 20:35:55 205

原创 窗体继承注意点

子窗体不想继承父窗体的某些事件要怎么处理?方法一:将父窗体的事件绑定的方法修饰符改为protected,然后在子窗体的构造函数中的相关事件中移除父窗体的事件绑定的方法方法二:将父窗体的事件绑定的方法修饰符改为protected和加上virtual,子类重载它,然后不写代码或者写子类相关的代码即可...

2020-05-29 09:24:34 137

原创 Dispose 和 GC 注意点

public void Dispose(){ Dispose(true); GC.SuppressFinalize(this);}Dispose(true); 是否真的要释放资源;GC.SuppressFinalize是说在垃圾回收的时候不执行这个对象的C#析构函数中的内容。GC.SuppressFinalize(this);一般是这么写的吧。就是告诉垃圾回收器不要调用指定对象的Dispose方法,因为之前Dispose(true);已经做过了。防止两次执行。...

2020-05-27 14:41:30 443

原创 多线程--await/async

1.await/async简述await/async是C#保留关键字,通常成对出现 async修饰方法,可以单独出现,对原来的方法没有任何改变,但会警告 await在方法体,只能出现在task/async方法前面,单独使用await会报错 async位于方法修饰符之后,返回类型之前2.作用效果3.相关例子3.1.单独使用async代码如下:/// <summary>///方法带async,但方法体中Task前面不带await(与普通方法执行一样,只不过会警告.

2020-05-22 21:45:32 851

原创 多线程--Lock (C#)

简述 使用多线程时,不可避免的会遇到线程安全的问题,从而需要为使用多线程代码的安全执行考虑 注意点 lock只对多线程有效,对单线程无效不推荐使用lock(this),因为在它外部也可以访问它 简单案例 ...

2020-05-19 14:32:45 2089 1

转载 VS2017 Nuget找不到包的问题处理

重新安装系统之后,发现新安装的VS2017在用Nuget搜索SDK时,一直提示找不到包。如下图:解决方法:1、点击右侧的设置按钮,2、弹出窗中左侧树形结构选择“程序包源”,再点击右上方的添加按钮:输入以下信息:https://api.nuget.org/v3/index.json nuget.org3、确定之后会返回到Nuget主页面,这时我们将右上方的程序包源选...

2019-12-11 19:57:13 1206

原创 进程

1、获取进程信息进程的相关信息包括:进程ID、进程名称、占用内存空间大小、启动时间、文件名、进程优先级别等等获取系统所有进程:Process.GetProcesses();2、启动和停止进程需要先创建Process的实例 设置StartInfo属性指定启动进程的信息 使用Start启动进程 使用CloseMainWindow方法或Kill方法停止进程注意:CloseMain...

2018-11-22 21:11:34 149

原创 在Winform中打开控制台

1、说明由于控制台api被封装在kernel32.dll链接库中,而kernel32.dll并未托管dll,所以需要使用DllImport来导入。3、代码 static class Program { /// &lt;summary&gt; /// 启动控制台 /// &lt;/summary&gt; //...

2018-11-14 20:34:32 3058

空空如也

空空如也

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

TA关注的人

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