C#中的List<T>和Dictionary<TKey, TValue>的底层原理
摘要:List<T>和Dictionary<TKey, TValue>本质上上是顺序表,用数组来存储数据,在添加和删除数据时,如果需要调整数组长度,则需要进行数组拷贝。 也可以理解成就是对数组的一种扩展,从而使开发者更方便的调用添加、删除、插入等操作。 所以,优化的思路是,对于大概知道元素的数量时,在实例
阅读全文
posted @
2024-01-12 11:07
Jason_c
阅读(168)
推荐(0)
C# 继承、重载、多态
摘要:写个测试,一看便知 父类: using System.Collections; using System.Collections.Generic; using UnityEngine; public class Component { public virtual void Test() { Uni
阅读全文
posted @
2022-12-22 17:50
Jason_c
阅读(27)
推荐(0)
Unity 使用一些C#“冷门”类库
摘要:1、System.Diagnostics.Stopwatch 类,提供一组方法和属性,可用于准确地测量运行时间,测量一段代码运行的耗时时可能会用到,用法也比较简单,Start开始,Stop结束,Elapsed拿到时间 2、System.Threading.Monitor 类,提供同步访问对象的机制。
阅读全文
posted @
2022-07-04 10:45
Jason_c
阅读(195)
推荐(0)
C# 多线程
摘要:多线程一知半解?看这篇就够了!转自https://www.cnblogs.com/HaoYangkun/p/14185008.html #线程详解 1. Thread基础之从 WinDbg 角度理解你必须知道的时间和空间上的开销 一:空间上的开销 1、thread本身来说就是操作系统的概念。。。 <
阅读全文
posted @
2022-07-01 13:19
Jason_c
阅读(331)
推荐(0)
C# 三态布尔值
摘要:当判断条件有三种状态时,又不想使用枚举可以使用bool? 例: bool? isA=true;//三种状态:true,false,null if(isA==null) {} else { if((bool)isA) {} else {} } //或者 if(isA.HasValue) { if(is
阅读全文
posted @
2021-12-08 15:24
Jason_c
阅读(348)
推荐(0)
小心驶得万年船
摘要:1、if做边界或者异常判断的时候,一定不要忘了在else里打上log,加一句log远比出了bug一遍遍的缕代码逻辑的成本低得多。 if (obj != null) { } else { Debug.Log("obj is null"); } 2、在用for循环生成线程时,如果用到了“i”,要给他一个
阅读全文
posted @
2020-06-29 19:43
Jason_c
阅读(1103)
推荐(1)
通俗易懂,什么是.NET?什么是.NET Framework?什么是.NET Core?
摘要:转自:https://www.cnblogs.com/1996V/p/9037603.html#net1 什么是.NET?什么是.NET Framework?本文将从上往下,循序渐进的介绍一系列相关.NET的概念,先从类型系统开始讲起,我将通过跨语言操作这个例子来逐渐引入一系列.NET的相关概念,这
阅读全文
posted @
2019-07-17 16:49
Jason_c
阅读(799)
推荐(0)
通过输入命令行参数来控制程序
摘要:今天突然想到类似adb、ffmpeg这样的程序是怎么实现的,通过命令行输入不同的参数就可以执行不同的命令。 研究了一下,其实实现的逻辑很简单,以C#控制台程序为例,Main函数是这样的 其中string [ ] args便是命令行参数了,简单验证一下,新建一个命令行程序,写入这样一段代码 编译后,在
阅读全文
posted @
2019-07-16 11:58
Jason_c
阅读(1140)
推荐(0)
Unity WWW类调用http
摘要:1、Http请求中Content-Type讲解 MediaType,即是Internet Media Type,互联网媒体类型;也叫做MIME类型,在Http协议消息头中,使用Content-Type来表示具体请求中的媒体类型信息。 类型格式:type/subtype(;parameter)? ty
阅读全文
posted @
2019-03-19 15:48
Jason_c
阅读(3098)
推荐(0)
Unity经验之谈
摘要:1、全屏与非全屏之间的切换 if (Input.GetMouseButtonDown(1)) { Screen.fullScreen = !Screen.fullScreen; } 2、Camera适应所有的分辨率 void Start () { Camera.main.aspect = 16 /
阅读全文
posted @
2018-07-18 16:12
Jason_c
阅读(1373)
推荐(1)
C# http服务器
摘要:Http 服务器搭建 1、新建一个C#控制台工程 2、复制以下代码 3、运行控制台 4、通过cmd ,输入ipconfig IPv4 地址就是你的网址 5、打开自己电脑的浏览器输入127.0.0.1:8080或者 “IPv4 地址‘’:8080 如果是其他电脑访问,只能用 “IPv4 地址‘’:80
阅读全文
posted @
2017-08-30 15:21
Jason_c
阅读(6445)
推荐(0)