Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# System.IO.Directory.EnumerateDirectory(dir)的Unity.Net语法_C#_.net_Unity3d_Version - Fatal编程技术网

C# System.IO.Directory.EnumerateDirectory(dir)的Unity.Net语法

C# System.IO.Directory.EnumerateDirectory(dir)的Unity.Net语法,c#,.net,unity3d,version,C#,.net,Unity3d,Version,我的windows窗体项目中有一些代码: MatBaseIndicies = new Dictionary<string, int>(); string dir = Path.Combine(Data.BaseDir, "images"); dir = Path.Combine(dir, "equipment"); var subfolders = System.IO.Directory.EnumerateDirectories(dir); int counter = 0; fore

我的windows窗体项目中有一些代码:

MatBaseIndicies = new Dictionary<string, int>();
string dir = Path.Combine(Data.BaseDir, "images");
dir = Path.Combine(dir, "equipment");
var subfolders = System.IO.Directory.EnumerateDirectories(dir);
int counter = 0;
foreach(string sub in subfolders)
{
   MatBaseIndicies.Add(Path.GetFileName(sub), counter);
   counter++;
}
MatBaseIndicies=newdictionary();
string dir=Path.Combine(Data.BaseDir,“图像”);
dir=路径联合收割机(dir,“设备”);
var subfolders=System.IO.Directory.EnumerateDirectory(目录);
int计数器=0;
foreach(子文件夹中的字符串子文件夹)
{
添加(Path.GetFileName(sub),计数器);
计数器++;
}
基本上,这段代码读取所有子文件夹,然后将它们的名称作为键添加到字典中,以便可以通过int查找它们

如果你想知道这个的目的(如果你不想知道,请跳过这一段):这是一个高度可定制的游戏的一部分,该游戏在启动时搜索文件夹以找到它的所有资产。当序列化对象以进行保存时,将保存字符串值,以便不会丢失到相关资产的链接。当对象被反序列化时,对象只需要存储一个查找字符串的int(这节省了内存)

这段代码不在Unity 5中编译,因为Unity使用了一个更旧的.Net版本,该版本不包含“System.IO.Directory.EnumerateDirectory”的定义

很抱歉,我不能确定.Net版本号的确切信息


如何重新编写此代码以支持Unity 5

Unity是基于.NET3.5构建的,正如您所指出的,它是一个更旧的版本


不过,您确实有一个选项,该函数将给您(几乎)相同的结果。

Unity是基于.Net 3.5构建的,正如您所指出的,它是一个更旧的版本


不过,您确实有一个选项,该函数将给您(几乎)相同的结果。

尝试GetDirectory而不是EnumeTatedDirectories。尝试GetDirectory而不是EnumeTatedDirectories。谢谢。最简单的问题,对吗?现在看来很明显。事后看来,我不知道为什么我认为我还没有找到答案。也许我可以将visual studio设置为.Net 3.5,这样我就不用问了。嘿,你说得对,这可能是我有过的最简单的答案之一。另外,不太熟悉VS for Unity(主要是单用户),但是VS中是否有选项可以将解决方案的目标设置为您希望的任何框架?谢谢。最简单的问题,对吗?现在看来很明显。事后看来,我不知道为什么我认为我还没有找到答案。也许我可以将visual studio设置为.Net 3.5,这样我就不用问了。嘿,你说得对,这可能是我有过的最简单的答案之一。另外,不太熟悉VS for Unity(主要是单用户),但是VS中是否有选项可以将解决方案的目标设置为您希望的任何框架?