
C#
文章平均质量分 74
bolixin36
这个作者很懒,什么都没留下…
展开
-
C#中结构体, C#与类的区别
C#中结构体, C#与类的区别结构体的声明不能使用关键字 struct声明一个结构; 可以使用new来声明一个结构//CoOrds 是一个结构体CoOrds coords1;//直接声明CoOrds coords1 = new CoOrds();//使用new关键字, 调用默认构造函数CoOrds coords2 = new CoOrds(10, 10);//使用new关键...原创 2018-04-24 11:50:19 · 345 阅读 · 0 评论 -
选择类还是结构体
One of the basic design decisions every framework designer faces is whether to design a type as a class (a reference type) or as a struct (a value type). Good understanding of the differences in the b...翻译 2018-07-28 23:57:25 · 551 阅读 · 0 评论 -
用正则表达式判断IP地址是否合法
先了解IP的格式,它的形式应该为:(1~255).(0~255).(0~255).(0~255)//ip地址范围:(1~255).(0~255).(0~255).(0~255)private static Regex _ipReg = new Regex(@"^(([0-9]|[1-9][0-9]|1[0-9]{2}|2[0-4][0-9]|25[0-5])\.){3}([0-9]|[1...原创 2018-06-23 22:24:02 · 1556 阅读 · 0 评论 -
Unity 中实用方法的记录
我们要读取Assets目录同级的文件夹Assets.diff, 该文件夹的全路径可以这样获得://方法一DirectoryInfo topDir = Directory.GetParent(Application.dataPath);string diffFilePath = topDir.FullName + "/&amp原创 2018-06-23 21:22:12 · 1020 阅读 · 0 评论 -
C#字符串中的用法
MSDN中对字符串使用做法的建议:Best Practices for Using Strings in .NET本文做一些使用方法的记录和补充. 一. 对字符串用法的建议1. 当进行字符串操作时, 显式指定字符串比较规则, 即调用具有StringComparison类型的参数的方法重载.原因如下:具有默认参数的一些重载执行序号比较, 而其他重载执行的是区分区...原创 2018-06-23 20:47:23 · 499 阅读 · 0 评论 -
Unity中使用DOTween实现数字滚动效果
0. 实现背景:玩家在游戏中获得金币或战力等, 需要明显地显示出数字的变化, 可以采用数字滚动效果1. 最终实现效果图:2. DOTween相关术语:Tweener 一个tween控制value和animatesSequence 一个特殊的tween,并不是控制value,和其它的tween一起成为一个动画组Tween 一个普通词,既可以表示Tweener也...原创 2018-05-29 00:50:42 · 16259 阅读 · 0 评论 -
C# 匿名方法
C# 匿名方法C# 2.0 引入匿名方法,在 C# 3.0 及更高版本中,Lambda 表达式取代匿名方法作为编写内联代码的首选方式。 但是,本主题中有关匿名方法的信息也适用于 Lambda 表达式。 在有一种情况下,匿名方法提供 Lambda 表达式中没有的功能。 ==使用匿名方法可省略参数列表==。 ==这意味着匿名方法可转换为具有多种签名的委托==。 Lambda 表达式无法实现这一点。...原创 2018-05-20 15:52:03 · 551 阅读 · 0 评论 -
[Unity小项目]俄罗斯方块
Unity实现俄罗斯方块Demo:下载地址:MyTetris.apk环境:Unity2018.1主要技术:MVC, DOTweenTODO:[x] UI风格修改[ ] 行清除动画[ ] 相机抖动[ ] 方块急速下落[ ] (欢迎提建议呀 >&am原创 2018-05-24 01:29:59 · 6888 阅读 · 2 评论 -
Lambda 表达式
Lambda 表达式是一种可用于创建 委托 或 表达式目录树 类型的 匿名函数 。 通过使用 lambda 表达式,可以写入可作为参数传递或作为函数调用值返回的本地函数。 Lambda 表达式对于编写 LINQ 查询表达式特别有用。若要创建 Lambda 表达式,需要在 Lambda 运算符 =>左侧指定输入参数(如果有),然后在另一侧输入表达式或语句块。 例如,lambda 表达式 x...原创 2018-05-20 15:58:39 · 240 阅读 · 0 评论 -
把 ref 和 out 关键字说透
ref 和 out 的区别网上有很多这方面的文章,但是大部分人总是纠结于他们在原理上的那一点点细微的区别,所以导致了难以区分它们,也不知道什么时候改用哪一个了。但是如果从试用场景的角度对它们进行区别的话,以后你一定不会再纠结了。当你明白它们的适用场景后,再去扣其中的原理,使用中的一些问题也就迎刃而解了~简单的来说,它们的区别在于:ref 关键字 是作用是把一个变量的引用传入函数...转载 2018-04-24 18:44:24 · 545 阅读 · 2 评论 -
C#笔试面试题
C#中堆和栈的区别堆与栈的概念及不同点:在内存中栈主要负责处理线程中的命令,并且是以栈Stack的形式读取与执行的;堆主要是存储方法体以及数据,类似于床上散落的衣服,可供随机读取。堆和栈上的垃圾回收:栈有自我维护特性,执行完语句马上释放不会造成资源泄漏。堆则需GC回收,并且符合GC回收的规则,很多堆上的内容在程序退出前都没有被回收,很可能是无意中某处还保留着内容的引用导致,这将严重影响性能...原创 2018-04-24 17:55:46 · 2183 阅读 · 0 评论 -
从NullObject谈C#6.0改进
从NullObject谈C#6.0改进前言 本文来聊一聊我们经常会做的空值检查问题,从一个简单的空值检查Any Where,到设计模式的NullObjectPattern,再到C#6.0“可能”会提供的语法,让我们体验一次语言开发上的“持续改进”,Let’s go~什么是空引用异常 作为一个敲过代码的码农来说,似乎没有谁没有遇到过Null...转载 2018-04-24 17:43:37 · 233 阅读 · 0 评论 -
C# 使用迭代器实现对自定义类的foreach遍历
假设我们实现了一个自定义栈, 需要对其从栈顶到栈底遍历一遍, 找到需要的元素. 我们可以在类内部提供一个迭代器GetEnumerator , 而不必实现整个 IEnumerable接口. 当编译器检测到迭代器时, 它将自动生成 IEnumerable 或 IEnumerable<T>接口的 Current、MoveNext ...原创 2018-07-29 20:52:21 · 1794 阅读 · 0 评论