C#
文章平均质量分 80
Cryking
双重性格,一半喜静,一半喜动
展开
-
WPF程序中使用cefsharp组件的问题
无法输入中文页面闪烁打开子网页会弹窗口页面缓存页面事件不响应原创 2020-10-26 23:05:29 · 1402 阅读 · 1 评论 -
关于ref关键字的使用
文章目录1. ref常规用法2. 局部Ref3. Ref返回4. 条件操作符?:与ref值1. ref常规用法正常情况下,一个整型变量,如(int x=5),在通过方法参数调用时,如调用方法M(x,x*2),则会产生2个x的副本,如下所示: 而通过带ref的方法参数调用时,不会产生副本。如果在方法中,修改了ref的参数,那么此改变也会影响到原调用的变量。下面是一个例子:static void Main(string[] args){int x = 5;IncreAndDouble(re原创 2020-05-12 23:06:48 · 1610 阅读 · 0 评论 -
[C#]VS2017调试时Console.WriteLine无法在Output窗口输出
问题:之前在VS2012、VS2015中,可直接在应用程序中Console.WriteLine输出信息来调试bug。最近换到VS2017后,却发现怎么也无法输出解决:这个问题的原因是VS2017开始已经不再使用Hosting Process模式,在Hosting Process时可以将信息输出至 Output窗口。在VS2017及以后的版本可以使用Trace.WriteLine来将调试信息...原创 2020-03-12 20:47:03 · 7057 阅读 · 1 评论 -
[C#]json转匿名对象
这里写自定义目录标题背景Json转匿名对象Json转List的匿名对象背景很多时候,我们不想定义那么多的类,来接收不同的接口返回的json,而用Dictionary又觉得使用起来麻烦,那么这个时候匿名对象就会有用了Json转匿名对象我这里使用的Newtonsoft.Json.dll, 相信其他的Json库应该也是支持的。首先封装了匿名转换方法,如下: /// <su...原创 2019-10-25 18:44:54 · 3267 阅读 · 0 评论 -
[C#]TreeView操作汇总
用到树,自然而然要想到递归下面的例子是带CheckBox的TreeView,根据Datasource中的isvisible字段来确定是否勾选加载,构造树形结构:private void bindTree() { TreeNode RootNode = new TreeNode("总节点"); t原创 2016-12-05 11:58:48 · 6790 阅读 · 0 评论 -
[c#]常用工具类收集
1. 数字金额转中文 /// <summary> /// 单个数字对应的中文 /// </summary> /// <param name="n">单个数字</param> /// <returns>中文数字</returns>原创 2017-08-12 15:18:19 · 2016 阅读 · 0 评论 -
[c#]ini文件读写
/// /// ini 文件读写帮助类 /// public class IniUtils { // 声明INI文件的写操作函数 WritePrivateProfileString() [System.Runtime.InteropServices.DllImport("kernel32")] private st原创 2017-08-12 15:20:42 · 400 阅读 · 0 评论 -
[C#]一些.NET基础概念
应用程序域(application domain) 应用程序域是.NET中的一个重要技术改进,它用于减少运行应用程序的系统开销. 应用程序域是分离组件的一种方式,它把任何一个进程分解到多个应用程序域中. 每个应用程序域大致对应一个应用程序,执行的每个线程都运行在一个具体的应用程序域中.程序集(assembly) 程序集包含程序的元数据。它有两种类型:私有程序集和共享程序集。私有程序集一般附原创 2017-03-23 21:08:21 · 548 阅读 · 0 评论 -
C#实现驱动级模拟按键
-----------------------------Cryking原创-----------------------------------------------------转载请注明出处,谢谢!------------------------ 昨天没事又玩了下仙剑4(俺是仙剑迷), 由于仙4已经玩了好几次,于是准备写个VBS脚本来实现一些自动打怪和自动行走功能,结果发现除原创 2014-04-07 11:27:26 · 27174 阅读 · 8 评论 -
[.NET]Windows线程浅谈
1. 为什么Windows要支持线程? 早期的电脑,操作系统不提供线程的概念。整个系统就一个线程,包含了操作系统代码和应用代码。只有一个线程执行的弊端是,一个长时间运行的任务将会阻止其他所有任务执行.譬如在之前的16位windows(MS-DOS)时,一个应用在打印文档时,会导致操作系统和所有应用都停止响应. 后面微软设计操作系统时,开始给一个应用的每个实例运行一个进程.进程是单个实...原创 2018-11-06 23:15:25 · 249 阅读 · 0 评论 -
[C#]CLR下线程的基本介绍与使用
文章目录专用线程为什么要使用线程线程的优先级前台线程与后台线程线程池线程的执行上下文线程的取消Demo运行效果图专用线程由new Thread()创建的线程称为专用线程。一般不建议使用专用线程,除非有下列情况:你需要线程运行在非正常的优先级时。线程池中的所有线程都是运行在正常优先级(Normal)下。你需要线程作为前台线程运行时。线程池中的所有线程都是后台线程。当执行一个非常长时间的计...原创 2018-11-07 23:53:42 · 1235 阅读 · 0 评论 -
[C#]FileStream.Read是如何读磁盘文件的
codeFileStream fs=new FileStream(...);Int32 bsRead=fs.Read(...);首先通过构造一个FileStream对象,实现打开指定的磁盘文件然后通过调用Read方法来读文件内容调用Read方法时,首先线程从托管代码转移到了本地用户级代码,通过内部调用Win32的ReadFile函数实现读文件Win32的ReadFile会分配一个...原创 2018-11-11 23:43:49 · 2527 阅读 · 0 评论 -
[C#] Visual Studio调试踩坑小记
文章目录前述踩坑前述老大昨日交代一个小项目,挺简单的,要求尽快搞定上线。我稍微琢磨了一下,便答应一天开发搞定。踩坑功能是在原有的上面做调整,呼呼的一顿狂撸代码后,调试一下便遇到如下图的错误了:起初以为是方法中某个变量为null导致,后面改成BaseGoodsGroup goodinfo=null;竟然还是报错,这就诡异了。变量赋值null也能报错?经过一顿断点后,仍没解决,于是便...原创 2019-05-15 22:08:59 · 284 阅读 · 0 评论 -
关于.NET中的NumericUpDown控件使用注意
当NumericUpDown控件值的文本显示为空时,我们不能直接通过NumericUpDown的value属性来改变其显示.如:在某个TextBox的TextChanged事件中放如下代码:private void textBox1_TextChanged(object sender, EventArgs e) { (n2 as UpDownBa原创 2014-12-04 13:29:10 · 6365 阅读 · 0 评论 -
改善C#编程的50个建议(1-5)
翻译自Effective C#1、属性(properties)抽象属性可以放在接口的定义里。如:public interface INameValuePair { string Name { get; } T Value{ get; set; } }所有私有字段的访问都建议使用属性来处理,类中所有的数据成员都应当是私有翻译 2014-03-19 00:14:01 · 2061 阅读 · 0 评论 -
改善C#编程的50个建议(6-10)
6、区别各种不同的Equal方法C#提供了以下四种方法来判断两个对象是否相等:1.static bool ReferenceEquals(object left, object right);2.static bool Equals(object left, object right);3.virtual bool Equals(object right);4.static b翻译 2014-03-22 00:32:20 · 1440 阅读 · 0 评论 -
[C#]实现Q+桌面登录满5小时后自动退出(QQ等级加速用)
由于Q+桌面和QQ同时在线5小时可加速0.2天,没事做了本程序当练手用,实现自动监控QPLUS到5小时后关闭.本程序为控制台程序,启动后在后台自动运行、有系统托盘并设置了开机启动功能1.如本程序运行时,Q+桌面还未运行,将自动运行Q+桌面2.自动监控QQ是否关联到Q+,如果Q+桌面没有关联到QQ帐号,5分钟提醒一次(只提醒3次,提醒太多会很烦人的)3.Q+桌面和QQ同时在线原创 2013-01-24 17:18:45 · 3013 阅读 · 0 评论 -
网址采集
-------------------------------------------------------------------------------------------------------Cryking原创-----------------------------------------------------转载请注明出处,谢谢!--------------------原创 2013-05-14 20:58:12 · 1999 阅读 · 0 评论 -
编程问题集锦
-----------------------------Cryking原创-----------------------------------------------------转载请注明出处,谢谢!------------------------ 1.环境:VS2010错误描述:部分窗体的视图设计器无法打开错误提示:未能加载文件或程序集:log4net versio原创 2013-12-27 13:54:38 · 824 阅读 · 0 评论 -
CLR初始化及EXE加载的流程
When the compiler/linker creates an executable assembly, the following 6−byte x86 stub function is emitted into the PE file’s .text section:JMP _CorExeMainBecause the _CorExeMain function is impor原创 2014-03-04 12:58:56 · 2177 阅读 · 1 评论 -
托管程序优于非托管程序的地方
传统的C/C++编译生成的应用一般属于非托管应用程序,而基于.NET框架,通过CLR、JIT来编译生成的应用程序属于托管应用程序。一般的理解,非托管程序肯定要优于托管程序的,为什么呢?因为非托管程序省略了CLR加载、JIT编译,而直接编译成本地CPU执行的指令的。那么托管程序较非托管程序,到底好在哪里呢?最主要一点就是JIT编译器在将IL代码编译成本地CPU指令时,会获取更多的执行环境原创 2014-03-05 13:34:06 · 1083 阅读 · 0 评论 -
改善C#编程的50个建议(36-40)
-------------------------翻译 By Cryking----------------------------------------------------转载请注明出处,谢谢!------------------------ 36 理解如何使用PLINQ的I/O密集型操作并行任务库看起来会为CPU密集型操作进行优化。当这个优化成为库的核心任务时,I/O密集型操翻译 2014-05-10 14:51:35 · 5058 阅读 · 0 评论 -
改善C#编程的50个建议(46-50)
-------------------------翻译 By Cryking----------------------------------------------------转载请注明出处,谢谢!------------------------ 46 创建完整的特定应用程序异常类 异常是一种报告错误的机制,它可以在远离错误发生的地方处理错误.所有关于错误发生的的信息必须包含在异翻译 2014-05-10 14:57:12 · 1527 阅读 · 0 评论 -
改善C#编程的50个建议(41-45)
-------------------------翻译 By Cryking----------------------------------------------------转载请注明出处,谢谢!------------------------ 41 为数据驱动的动态类型使用DynamicObject或IDynamicMetaObjectProvider 动态编程的一个优势是当翻译 2014-05-10 14:55:51 · 3620 阅读 · 0 评论 -
改善C#编程的50个建议(21-25)
21 限制类型的可见性不是每个类型都需要Public。你应给你的类型最少的可见度来达到你的目的,内部或私有类能实现公共的接口。很多独立的类应当创建为内部的。你可以使用protected或私有嵌套类进一步来限制其可见性,可见性越小,当你之后更新时,整个系统的更改也就越少,越少的地方访问你的代码,你修改的地方也就越少。 只暴露那些需要暴露的。对于可见性小的类,尝试使用公共接口来暴露。//翻译 2014-04-01 22:48:33 · 1382 阅读 · 0 评论 -
改善C#编程的50个建议(26-30)
26 避免返回内部类对象的引用 你可能会想一个只读属性应该是只读的,调用者不能修改它.但不幸的是,不总是你想的那样.如果你创建了一个返回引用类型的属性,调用者则可以访问对象的任何公共成员,包括可以修改属性状态的成员方法.如:public class MyBusinessObject{ // Read Only property providing access to a翻译 2014-04-02 10:54:45 · 2092 阅读 · 0 评论 -
改善C#编程的50个建议(16-20)
16 避免创建不必要的对象GC(垃圾回收)为我们管理内存,以一种比较有效的方式移除不使用的对象。但是不管怎样分配和销毁基于堆管理的对象都会占用不少处理器时间,所以请不要加重GC的负担,如下是一种比较糟糕的方式来分配GDI对象: protected override void OnPaint(PaintEventArgs e) { // Bad. Creat翻译 2014-03-31 22:34:25 · 1317 阅读 · 0 评论 -
改善C#编程的50个建议(31-35)
-------------------------翻译 By Cryking----------------------------------------------------转载请注明出处,谢谢!------------------------ 题外话:关于C#_Effective(Covers C#4.0)一书的翻译也快已完结,由于水平有限,错误在所难免,尤其很多地方有所省略(一来翻译 2014-04-05 00:11:22 · 1752 阅读 · 0 评论 -
改善C#编程的50个建议(11-15)
11 理解使用简短函数的好处.NET运行时调用JIT编译器来转换IL代码为本地机器码: public string BuildMsg(bool takeFirstPath) { StringBuilder msg = new StringBuilder(); if (takeFirstPath) { ms翻译 2014-03-26 09:21:32 · 1356 阅读 · 0 评论 -
C#执行oracle返回游标类型的存储过程
C#执行oracle存储过程,存储过程代码为:create or replace procedure proc_test(pCursor OUT pak_pub.ut_cursor) ASbeginopen pCursor for select * from scott.emp;end proc_tes;其中pak_pub.ut_cursor的定义为:create o原创 2013-01-07 17:56:49 · 6579 阅读 · 0 评论