C#
shi5783
这个作者很懒,什么都没留下…
展开
-
冒泡排序
int[] array = { 1, 3, 5, 7, 90, 2, 4, 6, 8, 10 };int temp = 0;for (int i = 0; i < array.Length-1; i++){ for (int j = i+1; j < array.Length; j++) { if (array[j] < array[i]) { temp = array[i]; array[i] = array[j]; a.原创 2020-10-09 22:34:58 · 175 阅读 · 0 评论 -
C# MenberwiseClone/Clone 的差别
MenberwiseClone():浅复制,如果是值类型,按位复制,引用类型,复制其引用,实际上指向的是同一个对象;Clone():深复制,值类型按位复制,复制引用,并指向一份全新的对象原创 2020-10-04 21:09:32 · 202 阅读 · 0 评论 -
生成指定大小区间的随机数
public static List<int> GetUinqueRandom(int maxValue, int minValue,int count) { List<int> valuePool = new List<int>(); List<int> valueResult = new List<int>(); for (int i = minValu.原创 2020-09-23 22:23:09 · 451 阅读 · 0 评论 -
线程安全的单例(双if)
直接上代码namespace Test{ public class SingletonTest { object Lock = new object(); public static SingletonTest _singletonTest = null; public SingletonTest CreateInstace() { if (_singletonTest == null)原创 2020-09-21 23:08:16 · 225 阅读 · 0 评论 -
C# 反射实例化对象
经常用反射来构造对象,好记性不如烂博客,写在这里做一下笔记反射需要引用System.Reflection命名空间1、无参构造实例 Assembly assembly1 = Assembly.LoadFile("程序集路径,不能是相对路径"); //无参构造函数 object objNoParam = assembly1.CreateInstance("命名空间.具体类型"); assembly1.C.原创 2020-09-21 00:09:45 · 1240 阅读 · 0 评论 -
Linq To Object 之 inner join、Left Join
直接上代码:List<Student> sList = new List<Student>(){new Student(){id=1,Name = "1",VipID = 1},new Student(){id=2,Name = "2",VipID = 1},new Student(){id=3,Name = "3",VipID = 0},new Student(){id=4,Name = "4",VipID = 2}}List<Vip> ...原创 2020-09-17 23:47:12 · 228 阅读 · 0 评论 -
Linq To Object 之 In 查询、Skip、Take
直接上代码范例:List<Student> list =new List<Student>(){new Student(){id= 1,Name =1},new Student(){id= 2,Name =2},new Student(){id= 3,Name =4}}var listIn= list.where(s=>new int[]{1,2}.Contatins(s.id));原创 2020-09-17 22:36:13 · 174 阅读 · 0 评论 -
Linq To Object 之 where 记一次 【空指针异常】的处理方式以及原理
一、场景还原二、代码分析 如上图片所见代码,业务逻辑很简单,根据defaultYbPatiTypeID对ocbo_PatiType控件的数据源进行一次过滤。代码编译通过,一眼瞅上去也没什么问题,愣是报了空指针异常。三、尝试解决鉴于不能阻碍开发进度,当时尝试用了foreach常规套路解决,代码如下,测试也无问题。后加班本着不服输的精神,又回来硬着头皮解决。经过半个小时的度娘谷哥大战,终明其原理。一行代码解决。四、原理造成空指针的原因推测,是因为Linq有延迟..原创 2020-09-04 11:04:01 · 329 阅读 · 0 评论 -
Linq To Object 之 Select
一、作用 Select能够按照传入的委托的要求,完成对数据集合的过滤,并按照定义的格式返回二、直接上代码:public void Show() { List<Student> stuList = new List<Student>() { new Student() {Name = "1",ID = 1,age = 27 }, ...原创 2020-08-30 11:06:52 · 376 阅读 · 0 评论 -
用限定线程数量,完成多任务
#region 用限定线程数量,完成多任务 int taskCount = 10000; List<int> list = new List<int>(); for (int i = 0; i < taskCount; i++) { list.Add(i); } Action<int> a...原创 2020-06-07 10:40:24 · 310 阅读 · 0 评论 -
C# 带返回值异步调用函数 可用于页面初始化
函数体:private Func<T> ThreadWithReturn<T>(Func<T> WailtDo) { T ParamFunc = default(T); Thread thread = new Thread( () => { ParamFunc = WailtDo.Invoke(...原创 2020-06-06 17:57:34 · 339 阅读 · 0 评论 -
Winform窗体嵌入外部程序 EXE
public partial class PatiCtlPacsReport : UserControl { private const int GWL_STYLE = (-16); private const int WS_VISIBLE = 0x10000000 | 0x00800000 | 0x02000000 | 0x01000000; private const int WS_VISIBLE2 = 0x40000000 | 0x0080000...原创 2020-05-11 18:47:50 · 1565 阅读 · 0 评论 -
C# 委托的个人浅薄的理解(个人理解笔记),不严谨, 如有错误请指出
一、什么是委托? 1、委托跟类一样,都是 可以定义的; 2、可以理解为委托是方法的一种类型,委托实现了讲一个函数作为参数传给另外一个函数的方式 3、可以理解委托是一段封装好的代码二、为什么要使用委托? 1、实现函数封装; 2、使代码更健壮和拓展性更强; 3、代码复用。三、什么时候使用委托? 比如,...原创 2020-04-04 21:29:51 · 335 阅读 · 0 评论 -
FarPoint.Win.Spread 表格 鼠标悬停 展示表格数据 并且控制每行字数 代码备忘
注册事件,并进行配置 //鼠标悬停 显示相关 this.spdMain.TextTipFetch += new FarPoint.Win.Spread.TextTipFetchEventHandler(this.spdMain_TextTipFetch); FarPoint.Win.Spread.TipAppearance app...原创 2019-11-11 12:45:30 · 781 阅读 · 0 评论