assert可以实现“三步一岗五步一哨”可以说是保证代码正确性(安全编程)的最有力工具。在用c++写程序的时候assert语句总是要占整个程序的大部分篇幅。
但是转到unity c#,一开始没找到assert,忍受了很长一段时间,今天好好google了一下,终于找到了。
貌似是从unity 5.1才引入的,参考:http://answers.unity3d.com/questions/19122/assert-function.html
下面是assert文档:http://docs.unity3d.com/ScriptReference/Assertions.Assert.html
但文档中建议不直接使用assert,而是使用MustExtensions,它是assert的一个可读性更好的封装。
MustExtensions文档:http://docs.unity3d.com/ScriptReference/Assertions.Must.MustExtensions.html
比如有一个变量n,我要断言:
(1) 断言n==0,可写成:
n.MustBeEqual(0,"n must be zero!");
或
(n == 0).MustBeTrue ("n must be zero!");
(2) 断言n>0,可写成:
(n>0).MustBeTrue ("n must greater than zero!");
在使用Must前需要using UnityEngine.Assertions.Must;