C#
162
记遇到的Release和Debug下有些不同

平常开发用Debug,但是发布的时候用Release,应该是很多单位都会用的,但是有的时候你发现Debug下好使,Release下不好使,这就遇到坑了。 我也是这两天连续遇到了两次,在此记录一下,如果以后还有发现这两个区别的,还会继续追加内容。 1、Mutex 软件做的单一启动,也就是软件如果正在运 ...

衆尋 @ 2019/07/06

164
C# 异步转同步 TaskCompletionSource

本文通过TaskCompletionSource,实现异步转同步 首先有一个异步方法,如下异步任务延时2秒后,返回一个结果 如何使用TaskCompletionSource将此异步方法转成同步呢? TaskCompletionSource使用步骤: 测试结果: 关键字:异步转同步,TaskCompl ...

唐宋元明清2188 @ 2019/07/06

165
C# 死锁 TaskCompletionSource

在异步转同步时,使用不当容易造成死锁(程序卡死) 看如下案例: 有一个异步方法 在执行如上异步方法时,尝试将其转换为同步方法 按照官方文档《使用任务简化异步编程》,TaskCompletionSource使用步骤: 但是,以上逻辑执行时,界面会卡死!卡死效果如下,卡死的时候点击界面其它按钮无任何反应 ...

唐宋元明清2188 @ 2019/07/06

167
面试题【树:重建二叉树】

题目描述 输入某二叉树的前序遍历和中序遍历的结果,请重建出该二叉树。假设输入的前序遍历和中序遍历的结果中都不含重复的数字。例如输入前序遍历序列{1,2,4,7,3,5,6,8}和中序遍历序列{4,7,2,1,5,3,8,6},则重建二叉树并返回。 解题思路 基础知识 前序遍历:根结点 > 左子树 > ...

lingfeng95 @ 2019/07/05

169
Csharp: TreeList Drag and Drop

/// /// https://www.codeproject.com/articles/3225/treelistview /// https://www.codeproject.com/Tips/572728/TreeListViewEx-Tree-List-and-Drag-and-Drop ... ...

®Geovin Du Dream Park™ @ 2019/07/05

170
面试题【栈和队列:用两个栈实现队列】

题目描述 用两个栈来实现一个队列,完成队列的Push和Pop操作。 队列中的元素为int类型。 解题思路 栈:先进后出,队列:先进先出。用两个【先进后出】的实现一个【先进先出】。对于两个栈而言,插入的时候没有什么问题,直接插入就可以,出栈的时候,需要借助另外一个栈操作。简单的来说就是负负为正。这里有 ...

lingfeng95 @ 2019/07/05

171
泛型约束:接口约束、new()构造函数约束、组合约束(即多种约束合并)

泛型 接口约束: 普通 单例模式: 上面用到的是类中一个方法来获取类的唯一实例对象 那完全也可以用属性的访问器来初始化一个类的对象啊,如下: 调用的话:var str = Singleton.Instance.Outresult("我是输出内容...."); 综上:两种方式实现单例 泛型 new() ...

学会乐观 @ 2019/07/05

172
面试题【字符串替换空格】

题目描述 请实现一个函数,将一个字符串中的每个空格替换成“%20”。例如,当字符串为We Are Happy.则经过替换之后的字符串为We%20Are%20Happy。 解题思路 老实说,看到这个题目想到的就是字符串替换,但是面试题肯定不是这么简单的,那么怎么在原字符串上进行高效的替换呢?我们的字符 ...

lingfeng95 @ 2019/07/05

174
面试题【从尾到头打印链表】

题目描述 输入一个链表,按链表值从尾到头的顺序返回一个List。 解题思路 输入一个链表,从尾到头输出,正常的遍历都是从头到尾输出,而这里需要从尾到头输出,那么就是“先进后出”,也就是栈的功能。 代码实现 栈的方式实现 递归的方式实现 想入非非:扩展思维,发挥想象 目的: 1. 熟悉链表 2.熟悉栈 ...

lingfeng95 @ 2019/07/05

176
C# 7.0 语法

C# 7.0的语法主要是优化了之前的写法,使得更加简洁方便。try catch when 这个使用场景很少,正常的开发无业务处理的时候不建议使用 。 #region 2.字符串嵌入值 Console.WriteLine("____________字符串嵌入值____________"); Conso ...

兵兵有你 @ 2019/07/05

178
C#常用类库

Array类 a) IEumerable接口是由foreach语句用于迭代数组的接口。 b) ICollection接口派生于IEumerable接口,这个接口主要用于确定集合中的元素个数,或用于同步。 c) IList接口派生于ICollection接口,Array类实现IList接口的主要原因是 ...

念梦 @ 2019/07/04

179
C#—使用InstallerProjects打包桌面应用程序

前言 打包桌面应用程序实在是一个不常使用的东西,偶尔使用起来经常会忘东忘西的耽误时间,因此,这篇文章多以图片记录过程,也是用于备忘。 下载打包工具 C#打包桌面应用程序有很多种方法,这里介绍一种使用Microsoft Visual Studio Installer Projects工具打包的方法。 ...

kiba518 @ 2019/07/04

180
C# 设计模式-单例模式

C# 单例模式 1、定义:单例模式就是保证在整个应用程序的生命周期中,在任何时刻,被指定的类只有一个实例,并为客户程序提供一个获取该实例的全局访问点。 2、单例模式的优点有: (1)实例控制:单例模式会阻止其他对象实例化其自己的单例对象的副本,从而确保所有对象都访问唯一实例。 (2)灵活性:因为类控 ...

Tulip123 @ 2019/07/03