![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#应用
文章平均质量分 61
GarFe-Liu
一入IT深似海,程序猿、攻城狮、努力一把架构师,经理干一条,总监搭台子,技术远景CTO
展开
-
C# 对象池代码示例
对象池代码示例原创 2023-12-27 15:13:38 · 606 阅读 · 0 评论 -
Unity、C#实用小功能
日常开发中,一些实用的一些小功能,比如各进制转换,计算内存地址什么的。原创 2023-08-22 14:04:16 · 261 阅读 · 0 评论 -
下标归一,防止数组越界
array:是要操作的数组,根据切换得到的下标,从该数组中取值。此时下标index就不会越界,超出会自动归一。一定长度,根据下标获取防止越界处理。index:是记录切换下标,原创 2023-03-31 00:04:50 · 101 阅读 · 0 评论 -
Unity中-C#执行Cmd命令(System.Diagnostics.Process的使用)
通过指定应用程序的名称和一组命令行参数、用户名、密码和域来启动一个进程资源,并将该资源与新的 Process 组件关联起来。启动由包含进程启动信息(例如,要启动的进程的文件名)的参数指定的进程资源,并将该资源与新的 Process 组件关联。通过指定应用程序的名称、用户名、密码和域来启动一个进程资源,并将该资源与新的 Process 组件关联起来。通过指定应用程序的名称和一组命令行参数来启动一个进程资源,并将该资源与新的 Process 组件相关联。属性指定的进程资源,并将其与该组件关联。原创 2023-03-31 00:05:52 · 1183 阅读 · 0 评论 -
C#sring格式化字符串数值类型转换为字符串
也就是说,若要单独使用自定义格式说明符“d”、“f”、“F”、“h”、“m”、“s”、“t”、“y”、“z”、“H”或“M”,请指定“%d”、“%f”、“%F”、“%h”、“%m”、“%s”、“%t”、“%y”、“%z”、“%H”或“%M”。如果“E”、“E+”、“E-”、“e”、“e+”或“e-”中的任何一个字符串出现在格式字符串中,而且后面紧跟至少一个“0”字符,则数字用科学记数法来格式化,在数字和指数之间插入“E”或“e”。“E”、“E-”、“e”或“e-”格式指示符号字符仅置于负指数前面。原创 2023-03-30 00:06:30 · 1115 阅读 · 0 评论 -
VS/C#中的ManagementClass类和获取硬件的信息的用法
管理类是 WMI 类,如 Win32_LogicalDisk,该类型可表示一个磁盘驱动器,并 Win32_Process,它表示的进程 Notepad.exe 等。C# 提供了ManagementClass类来获取本机的一些基本信息,比如CPU的个数,CPU的频率,网卡的MAC,内存的大小,硬盘的大小等。在.NET的项目中,有时候需要获取计算机的硬件的相关信息,在C#语言中需要利用ManagementClass这个类来进行相关操作。3.GetSubclasses():此方法存在四个重载版本。原创 2023-03-30 00:03:48 · 760 阅读 · 0 评论 -
C#DateTime.ToString格式化时间字符串
时间的默认格式会根据win系统的设置不同,默认格式也不同,有的显示默认是:2019-06-12 但有的机器显示默认确实2019/06/12,这样在做字符串切割时分隔符不统一而苦恼,这里将解决这个问题并总结格式化时间字符串。如果不包含纪元的年份小于 10,则显示不具有前导零的年份。如果不包含纪元的年份小于 10,则显示具有前导零的年份。如果要设置格式的日期不具有关联的时期或纪元字符串,则忽略该模式。自定义时间字符串分隔符,避免了不同win系统不同格式导致的分隔符不同的问题。一位数的月份没有前导零。原创 2023-03-30 00:05:43 · 2006 阅读 · 0 评论 -
正则表达式的基本规则
$” 结尾 //”^aaa$”表示由aaa开头和结尾 “aaa1””qaaa”都不满足该正则。[a-d[m-p]] a-d或m-p:[a-dm-p]“[a-z&&[^abc]]” a-z除了a、b、c任意一字符。“[a-zA-Z0-9]” a-zA-Z0-9任意一字符。“\\S” [^ \t\n\x0B\f\r]空白字符。“\\s” [ \t\n\x0B\f\r]空白字符。“[a-z]” a到z任意一个字符。原创 2023-03-31 00:06:31 · 39 阅读 · 0 评论 -
C#-File、Path、Directory类的区别
目录(文件夹)的创建(Creat),移动(Move),获取目录下的所有文件(GetFiles),所有文件夹(GetDirectories),文件夹是否存在(Exists)剪切(Move),复制(Copy),删除(delete),读取,写入,文件是否存在Exists。//获取文件夹名称添加到节点集合。//获取文件的名称添加到节点集合。//获取路径下的所有文件夹。//获取路径下面的所有文件。//1、读取每行数据 返回字符数组。//字节数组--->字符串。//2、读取整个文件。/// 节点对象集和。原创 2023-03-31 00:09:31 · 178 阅读 · 0 评论 -
Unity-C#根据字符串得到类的方法、属性和字段
网上查阅大量资料,获取属性基本使用的都是GetProperty,但是实际的需求却是获取字段的,所以一直返回null,是不是很恼火,明明自己的类里有这个字段(你可能把他认为值属性了),所以一直获取不到。这里有个误区,要清晰这三种类型的定义,使用不对,是得不到想要的效果。获取属性:System.Type.GetProperties。获取方法:System.Type.GetMethod。获取字段:System.Type.GetField。访问控制符 返回值 方法名(){方法体}访问控制符 字段类型 字段名称;原创 2023-03-31 00:06:51 · 1163 阅读 · 0 评论 -
IEnumerator/IEnumerable/yieldreturn/StartCoroutine
这是因为协同程序被开启后作为一个线程在运行,而 MonoBehaviour也是一个线程,他们成为互不干扰的模块,除非代码中用调用,他们共同作用于同一个对象,只有当对象不可见才能同时终止这两个线 程。然而,为了管理我们额外开启的线程,Unity3D将协同程序的调用放在了MonoBehaviour中,这样我们在编程时就可以方便的调用指定脚本 中的协同程序,而不是无法去管理,特别是对于只根据方法名来判断线程的方式在多人开发中很容易出错,这样的设计保证了对象、脚本的条理化管理,并防止了重名。原创 2023-03-31 00:06:13 · 75 阅读 · 0 评论 -
读写锁-ReaderWriterLockSlim
读写锁是以 ReaderWriterLockSlim 对象作为锁管理资源的,不同的 ReaderWriterLockSlim 对象中锁定同一个文件也会被视为不同的锁进行管理,这种差异可能会再次导致文件的并发写入问题,所以 ReaderWriterLockSlim 应尽量定义为只读的静态对象。方法 退出写入状态,应使用 finally 块执行 ExitWriteLock 方法,从而确保调用方退出写入模式。方法 进入写入状态,可指定阻塞的间隔时间,如果调用线程在此间隔期间并未进入写入模式,将返回false。原创 2023-03-31 00:07:31 · 185 阅读 · 0 评论 -
C#事件Event
CLR里提到这是线程不安全的做法,因为当我们判断不为空后,准备执行时,另一个线程将从委托链将委托移除,此时变成了空,引发NullReferenceException异常。第二、三种做法都是线程安全的,因为它通过一个临时委托变量(委托链保存了所有委托),通过上一篇对委托链的了解,我们知道对委托链进行Combine/Remove实际都会创建一个新的数组对象,此时对temp没有影响。我们知道委托是用来包装回调函数的,它的本质是一个class,回调函数的签名必须与委托的签名一致。原创 2023-03-31 00:06:18 · 1090 阅读 · 0 评论 -
C#委托(Delegate、Action、Func、Predicate)
通过以上可以看出:delegate是C#的关键字,而Action和Func都是基于delegate的特殊用法,Action的返回值类型是void,Func通过泛型可以自定义返回值类型,但型参只能有一种.委托是一个类,它定义了方法的类型,使得可以将方法当作另一个方法的参数来进行传递。Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。Delegate至少0个参数,至多32个参数,可以无返回值,也可以指定返回值类型。Action至少0个参数,至多16个参数,无返回值。原创 2023-03-31 00:02:54 · 211 阅读 · 0 评论 -
一、C#时间字符串转换
获取系统时间代码: DateTime datetime = DateTime.Now;//星期几 4 (今天星期四) 今天 2018-12-13。//这个月末 = 下个月初减去1天。//下个月初 要用到字符串转时间。//这周的周末,等于周一加6天。时间与日期的用法: 时间戳 与时间 的互相转换原创 2023-03-30 00:05:23 · 5607 阅读 · 0 评论 -
UnityMathf数学运算(C#)
限制value的值在min和max之间, 如果value小于min,返回min。这个函数可以用来平滑任何类型的值,位置,颜色,标量。t值永远不会大于length的值,也永远不会小于0。数字的上限值是大于等于该数字的最接近的整数。t值永远不会大于length的值,也永远不会小于0。如果数字末尾是.5,因此它是在两个整数中间,不管是偶数或是奇数,将返回偶数。如果数字末尾是.5,因此它是在两个整数中间,不管是偶数或是奇数,将返回偶数。返回由参数 f 指定的角的余弦值(介于 -1.0 与 1.0 之间的值)。原创 2023-03-30 00:04:34 · 281 阅读 · 0 评论 -
IComparer OrderBy 排序
以上这个表示 按照dic 内元素排序。先按照 dic Value的Sax排序, 在按照 dic Value的Age排序,最后在按照 dic Value的Name排序。需要先用一个类(class)实现IComparer ,然后在该类中实现排序算法,然后通过.Sort()进行排序。ThenBy: 表示 前一个排序不成 在 按照 这个所描述的条件 排序。以上这个表示 按照dic 内元素的 Key 进行排序。playerAges : 排序后的新列表。playerAge: 需要排序的列表。a: 列表中的一个元素。原创 2023-03-30 00:04:56 · 121 阅读 · 0 评论