C#
文章平均质量分 85
chqj_163
这个作者很懒,什么都没留下…
展开
-
浅析C# Dictionary实现原理
https://www.cnblogs.com/InCerry/p/10325290.html转载 2021-06-19 10:23:39 · 1788 阅读 · 0 评论 -
C# 托管内存与非托管内存之间的转换
https://blog.csdn.net/menjiawan/article/details/48734015转载 2021-06-12 10:56:00 · 484 阅读 · 0 评论 -
推荐.Net、C# 逆向反编译四大工具利器
https://blog.csdn.net/kongwei521/article/details/54927689/在项目开发过程中,估计也有人和我遇到过同样的经历:运行环境出现了重大Bug亟需解决、或者由于电脑挂了、旧代码覆盖新代码,而在这种情况下,我们不能直接在当前的代码中修改这个Bug然后发布,这会导致更严重的问题,因为相当于版本回退了。还有电脑挂了代码整个都没有,这种情况下 我们只能只能利用一些逆向的技巧和工具了 来解析在服务器发布好的dll。那么你只是单纯的修改一个.Net程序集中的某个方法转载 2021-03-23 14:48:24 · 661 阅读 · 0 评论 -
C#中大List的内存分配
之前在开发中只用到List的时候几乎就是拿过来就用,从来没有考虑过List的内存分配问题,试想一个有10万元素的List的在构造和添加元素时内存是如何变化的呢?在MSDN上关于List的Capacity属性是这么解释的,也就是说,当我们添加的元素数量小于等于Capacity的值时,List是不会重新调整内部数据结构,也就是不会重新申请或者分配内存,而当我们添加的元素数量大于Capacity 的值时,List就会不断的调整内部数据结构或者重新申请分配内存,这样的话对效率肯定会有一定的影响的。当我们使用Li转载 2020-12-21 15:43:04 · 819 阅读 · 0 评论 -
基础篇(12)——反射(Reflection)(核心类:Type、Assembly)
【学习资料】 《C#图解教程》(第24章):https://www.cnblogs.com/moonache/p/7687551.html 电子书下载:https://pan.baidu.com/s/1mhOmBG0【内容】 对以下文章的整合: 详解C#中的反射(主要参考):https://www.cnblogs.com/jiangyunfeng/p/10436520.html C#反射机制 :https://zhuanlan...转载 2020-07-10 15:38:26 · 364 阅读 · 0 评论 -
Type.GetField 反射修改类中私有静态字段。
var t = typeof(SystemParameters);var field = t.GetField("_menuDropAlignment", BindingFlags.NonPublic | BindingFlags.Static);field.SetValue(null, false); 其中_menuDropAlignment 为SystemParameters中的静态 私有字段。通过Type.GetField反射出该字段并进行修改。。 这样SystemP...转载 2020-07-10 15:34:15 · 557 阅读 · 0 评论 -
C# string.format转义大括号--转
转义大括号左大括号和右大括号被解释为格式项的开始和结束。因此,必须使用转义序列显示文本左大括号或右大括号。在固定文本中指定两个左大括号 ("{{") 以显示一个左大括号 ("{"),或指定两个右大括号 ("}}") 以显示一个右大括号 ("}")。按照在格式项中遇到大括号的顺序依次解释它们。不支持解释嵌套的大括号。解释转义大括号的方式会导致意外的结果。例如,考虑要显示一个左大括号、一个格式...转载 2020-03-20 19:17:25 · 776 阅读 · 0 评论 -
Unity Excel 文件读取和写入
在网上看到很多Unity 的解析Excel 的文章,其中最经典的一篇莫过于雨凇Momo的Unity3D研究院之MAC&Windows跨平台解析Excel(六十五)但是在使用的过程中还是碰到了不少的问题,在这里总结一下,希望能对看到此处的朋友一个帮助。1.Excel的读取需要加入库文件 Excel.dll 和ICSharpCode.SharpZipLib库文件,官方链接 ht...转载 2019-02-27 20:51:22 · 213 阅读 · 0 评论 -
SystemInfo 类
(未完待续)访问系统和硬件信息。使用这个类可以了解底层平台和硬件的功能。例如,您可以检查支持哪种RenderTexture格式(SupportsRenderTextureFormat)、可用多少个CPU线程(ProcessorCount)等等。SystemInfo 类三个静态函数 ,返回类型 bool,验证是否支持 某种贴图类型,传入参数为 TextureFormat、RenderT...转载 2019-02-18 19:46:38 · 1233 阅读 · 0 评论 -
Unity中的结构体(C#)
结构体和类很像,但完全不同。抱歉:) 如果你不知道结构体,或者你想用结构体,或者你不知道传引用和传值的差别,那么这一课就是为你量身定做。 Unity中的结构体 既然这个系列是为了Unity而学习C#的,那先来了解一下,那些已经使用了结构体的地方吧。Vector2, Vector3 和 Vector4 Rect Color和Color32 Bounds Touch ...转载 2019-02-18 20:08:43 · 818 阅读 · 0 评论 -
Unity中有关C#的几个要点
转载https://nickcan.gitee.io/2018/02/25/Unity%E4%B8%AD%E6%9C%89%E5%85%B3C-%E7%9A%84%E5%87%A0%E4%B8%AA%E8%A6%81%E7%82%B9/大致总结下C#中几个常见知识点的个人理解,以对基础已经有所了解为前提。不定期更新~!ref/out区别:ref参数需要在传入前就初始化,out参数在函数...转载 2019-02-20 20:38:04 · 197 阅读 · 0 评论 -
Catching Exceptions in Coroutines
转载https://jacksondunstan.com/articles/3718Unity code frequently makes use of the coroutine feature of MonoBehaviour. It can make asynchronous code a lot easier to write, but runs into problems when ...转载 2019-03-04 19:54:03 · 280 阅读 · 0 评论 -
Unity3D游戏开发之C++插件接入
各位朋友大家好,我是秦元培,欢迎大家关注我的博客,我的博客地址是http://qinyuanpei.com。虽然Unity3D引擎依靠强大的跨平台能力睥睨高手林立的游戏引擎世界,我们在使用Unity3D游戏引擎的时候基本上不会去接触底层的东西,可是有时候面对某些奇葩的要求的时候,我们就不得不考虑使用C++这样的语言来为其编写相关的插件。你如果问我是什么样的奇葩要求,比如接入蓝牙手柄来控制游戏、接入...转载 2019-03-07 19:48:37 · 7856 阅读 · 2 评论 -
C#中的注释符
转载https://www.cnblogs.com/HelloZyjS/p/5993380.html1.软件行业的道德规范(1).程序员在日常写代码的过程中,一定要养成注释的好习惯,方便后面对理解和使用.(2).在给标识符命名的时候一定要规范,有理有据的,名字不能瞎写.2.注释注释符的作用:(1).注释需要解释的代码(2).注销掉代码,就是将不想参与执行的代码注销...转载 2019-03-12 17:31:48 · 1819 阅读 · 0 评论 -
C# Garbage Code Generater
转载https://github.com/xerysherry/CSharp_Garbage_Code_GeneraterC# Garbage Code Generater-h: Help-o: Output Dir, Default="garbate"-c: Generate Class Count, Default=400-mc: Method Count, Default=3...转载 2019-03-21 11:56:50 · 404 阅读 · 0 评论 -
Unity_获取自己和它的孩子有同样的组件
c# GetComponentsInChildren<组件>();这种方式是 大家经常用到的,这种是获取自己和它的孩子有同样的组件(比如 Rigidbody),返回一个数组,数组包括自己和它的孩子。如果他的孩子里面有的是不活跃SetActive(false);则获取不到。所以就会有第二个参数GetComponentsInChildren<组件>(true);...转载 2019-03-22 11:51:53 · 632 阅读 · 0 评论 -
Unity3D研究院之深入理解Unity脚本的执行顺序(六十二)
本文固定链接: https://www.xuanyusong.com/archives/2378Unity是不支持多线程的,也就是说我们必须要在主线程中操作它,可是Unity可以同时创建很多脚本,并且可以分别绑定在不同的游戏对象身上,他们各自都在执行自己的生命周期感觉像是多线程,并行执行脚本的,它是如何执行的呢?我们做一个小小的实验来验证它。如下图所示,在Hierarchy视图中创建三个游...转载 2019-03-22 11:55:40 · 151 阅读 · 0 评论 -
mono中的内存泄漏和WeakReference(弱引用)的使用
我们大家有时候在做 unity 项目的时候,游戏后期最常见的问题,应该就是内存泄漏了。其实这里面有一些小细节,就可能在你不知不觉间导致内存泄漏的发生。这里说说释放对象时容易发生的问题。 先来看一段代码:private float m_countdown = 10; private bool m_turnOn = false; TestB m_tb; TestA m_ta; ...转载 2019-02-12 11:56:24 · 239 阅读 · 0 评论 -
VS调试C#程序产生的dump
将二进制文件(exe、dll)、符号文件(pdb)、转储文件(dmp)放在同一个目录。如果可能的话,源码也要备份。有源码可以看到源文件的具体行,没源文件,只能定位到函数。二进制文件和符号文件必须备份,事后生成的没用,哪怕源码没改过。启动VS2013,以打开文件的方式打开转储文件, 点击右上的“混合调试”附:1,此方式和调试C++程序产生的崩溃文件十分类似。2,昨天有个简...转载 2019-01-30 20:43:27 · 1935 阅读 · 0 评论 -
使用WinDBG调试查看C#内存转储文件
有时候我们想查看一个正在运行的程序内存中的数据,可以在任务管理器将内存状态保存为转储文件,并使用WinDBG验证,这里我们来试试:0.安装WinDBG1.首先写个代码用来测试一个classpublic class MyClass{ public int AintValue = 123; public static int BintValue = 456; ...转载 2019-01-30 20:37:49 · 1232 阅读 · 0 评论 -
[深入学习C#]匿名函数、委托和Lambda表达式
转载https://blog.csdn.net/honantic/article/details/46331875 匿名函数 匿名函数(Anonymous Function)是表示“内联”方法定义的表达式。匿名函数本身及其内部没有值或者类型,但是可以转换为兼容的委托或者表达式树类型(了解详情)。匿名函数转换的计算取决于转换的目标类型:如果是委托类型,则转换计算为引用匿名函数所定义的方...转载 2018-09-27 11:39:59 · 133 阅读 · 0 评论 -
Application.backgroundLoadingPriority 后台加载优先级
转载https://blog.csdn.net/fzhlee/article/details/8601423 // Load as much data as possible, as a result frame rate will drop.// Good for fast loading when showing progress bars.//装载尽可能多的数据传输速率,因此帧...转载 2018-09-27 16:07:09 · 764 阅读 · 0 评论 -
C#直接使用DllImport外部Dll的方法
C#.Net调用基本格式:[DLLImport(“DLL文件路径”)]修饰符 extern 返回值类型 方法名称(参数列表) 如:[DllImport("kernel32.dll", SetLastError = true, EntryPoint = "SetLocalTime")]public static extern int SetSystemTime(ref SystemTim...转载 2018-10-18 19:38:27 · 323 阅读 · 0 评论 -
面向.Net程序员的dump分析
转载https://www.cnblogs.com/dubing/p/3878591.html背景 Dump文件是进程的内存镜像。可以把程序的执行状态通过调试器保存到dump文件中。在 Windows 系统上, dump 文件分为内核 dump 和用户态 dump 两种。前者一般用来分析内核相关的问题,比如驱动程序;后者一般用来分析用户态程序的问题。 一般的程序员可能接触不到dum...转载 2019-01-31 19:36:24 · 613 阅读 · 0 评论 -
Windows下dump文件生成与分析
转载https://blog.csdn.net/u010839382/article/details/76665517#一、 生成Dump文件方式1.1任务管理器在程序崩溃后,先不关闭程序,在任务管理器中找到该程序对应的进程。右键—>创建转储文件。此时会在默认的目录下创建出一个dump文件。可以看出,此种方法只适用于程序崩溃但没有立即自行退出的情况。倘若程序...转载 2019-01-31 20:29:25 · 928 阅读 · 0 评论 -
C#中的弱引用
一般情况下实例化一个类或结构时,只要有代码引用它,就会形成强引用。例如:Student stu=new Student();对此,垃圾回收器就不能收集该对象。一般而言是没有问题的,因为可能需要访问stu对象,但是如果对象过大,并且不经常访问呢?此时就可以创建对象的弱引用。 弱引用运行创建和使用对象,但是垃圾回收器运行时,就会回收对象释放内存。但始终存在这样的风险:垃圾回收器在重...转载 2019-01-31 20:40:38 · 335 阅读 · 0 评论 -
关于C#中的弱引用
转载https://www.cnblogs.com/mokey/archive/2011/11/24/2261605.html一:什么是弱引用 了解弱引用之前,先了解一下什么是强引用 例如 : Object obj=new Object(); 就是一个强引用,内存分配一份空间给用以存储Object数据,这块内存有一个首地址,也就是obj所保存的数据,内存分配的空间中...转载 2019-01-31 20:46:08 · 134 阅读 · 0 评论 -
WeakReference(弱引用)
转载http://www.cnblogs.com/bayonetxxx/archive/2009/06/02/1494728.html 我们平常用的都是对象的强引用,如果有强引用存在,GC是不会回收对象的。我们能不能同时保持对对象的引用,而又可以让GC需要的时候回收这个对象呢?.NET中提供了WeakReference来实现。弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,...转载 2019-01-31 20:53:12 · 457 阅读 · 0 评论 -
如何判断一个字符串是否是UTF8编码
https://www.cnblogs.com/jiu0821/p/6371544.htmlUTF8是以8bits即1Bytes为编码的最基本单位,当然也可以有基于16bits和32bits的形式,分别称为UTF16和UTF32,但目前用得不多,而UTF8则被广泛应用在文件储存和网络传输中。 编码原理 先看这个模板: UCS-4 range (hex.) UTF-8 octet s...转载 2019-01-23 17:41:20 · 1532 阅读 · 2 评论 -
Type.GetType()在跨程序集反射时返回null的解决方法
转载http://www.cnblogs.com/hyl8218/archive/2010/02/19/1667440.html在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型。如果使用稍有不慎,就会产生运行时错误。例如使用Type.GetType("BNameSpace.ClassName")在程序集A.dll获取程序集B.dll中的类型,就会返回Null。...转载 2019-02-15 20:48:21 · 583 阅读 · 0 评论 -
C#获取“所有用户桌面”的路径
转载http://www.cnblogs.com/DoNetCShap/p/4221899.html想用C#得到The All Users Desktop(Public\Desktop)的路径。原来以为很简单,然而Environment.GetFolderPath(Environment.SpecialFolder.Desktop)只能得到当前用户的桌面路径。到最后,没有办法,只...转载 2019-01-30 20:03:22 · 455 阅读 · 0 评论 -
C# 结构体初始化, 求为空
一般做法是写个构造函数, 在里面写上不可能的值 //这样是不行滴,结构体里不能有无参构造函数 struct Formula { public string name; public int num; public int key; public Formula () { ...转载 2019-01-30 20:07:24 · 2476 阅读 · 0 评论 -
判断是否utf8编码的算法
参考:http://www.cnblogs.com/powertoolsteam/archive/2010/09/20/1831638.html几天前偶尔看到有人发帖子问“如何自动识别判断url中的中文参数是GB2312还是Utf-8编码”也拜读了wcwtitxu使用巨牛的正则表达式检测UTF8编码的算法。使用无数或条件的正则表达式用起来却是性能不高。刚好曾经在项目中有类似的需求,...转载 2019-01-30 20:20:08 · 1541 阅读 · 1 评论 -
C# 控制台应用程序输出颜色字体[更正版]
转https://www.cnblogs.com/wuyuxin/p/7002065.html首先感谢院子里的“yanxinchen”,之前的方法是通过c#调用系统api实现的,相比之下我的有点画蛇添足了,哈哈。最佳解决方案的代码: static void Main(string[] args){ Console.ForegroundColor = ConsoleC...转载 2019-01-30 20:28:13 · 495 阅读 · 0 评论 -
【VS2017】升级VS2017后,编译运行程序会出现 /Community/Common7/IDE/PrivateAssemblies/plugin.vs.js 错误
问题】after i upgrade my vs 2017 to version 15.6.3, it popup an javascript error window when i starting debug,the position of the error js is "file:///C:/Program%20Files%20(x86)/Microsoft%20Visual%20St...转载 2019-01-30 20:31:15 · 996 阅读 · 0 评论 -
PDB文件详解
PDB文件的介绍PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件。DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成。 PDB文件的调用过程模块(Module),EXE和DLL都可以称之...转载 2019-01-30 20:34:55 · 1154 阅读 · 0 评论 -
Type.GetType()与 typeof跨程序集反射
转载http://www.cnblogs.com/hyl8218/archive/2010/02/19/1667440.html在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型。如果使用稍有不慎,就会产生运行时错误。例如使用Type.GetType("BNameSpace.ClassName")在程序集A.dll获取程序集B.dll中的类型,就会返回Null。...转载 2018-09-26 20:46:03 · 465 阅读 · 0 评论