1.读取文件
https://blog.youkuaiyun.com/swin16/article/details/80256123
下面使用try catch可以很方便判断文件是否存在,可以避免使用file.exist 提前判断文件是否存在
try{
using (StreamReader reader = new StreamReader( path ) )
{
}
}catch( Exception s ){
}
2.C++,java中的静态类成员是可以使用类的对象去调用的,但是C#不行。
https://docs.microsoft.com/zh-cn/previous-versions/visualstudio/visual-studio-2008/98f28cdx(v=vs.90)
https://docs.microsoft.com/zh-cn/dotnet/visual-basic/language-reference/modifiers/static
3.C#获取上一级目录
简单一点直接使用DirectoryInfo好了,DirectoryInfo(String)它用于在指定的路径上初始化DirectoryInfo
类的新实例。
https://www.yiibai.com/csharp/c-sharp-directoryinfo.html
比如unity 构建后的exe程序的上一级目录可以这样:
DirectoryInfo exePathInfo = new DirectoryInfo( Application.dataPath);
string exePath = exePathInfo.Parent.FullName;
4.协程
协程就是一个子程序或者说一个函数。这个函数会被yield命令挂起,直到这个yield命令结束后恢复执行。
yield WaitAndPrint();
print("Done");
function WaitAndPrint(){
yield WaitForSends(5);
print( "Wait......" );
}
如果启动协程时,在启动协程前面加上yield那么要等该协程执行完成再执行下一步。
function Start(){
yield StartCoroutine( WaitAndPrint );//这里需要等待该协程执行完毕才会执行下一步
print("协程执行完毕");
}
function WaitAndPrint(){
yield WaitForSends(5);
print( "Wait......" );
}
协程的应用:
1.延时执行某段代码
2.等待某个操作完成之后再执行后面的代码。
控制代码在特等时机执行。
协程不是线程,也不是异步执行。在U3D中,协程也是在MainThread中执行的。