I'm trying to re-create an old script that I already have working in Ruby, and I'm doing it with C# because I'm migrating a project of mine to Unity.
This Script searches for files inside folders inside 3 different levels. This is what I mean, is a filepath, Folder1/Folder2/Folder3/files_are_here.
Explanation: My working script (on Ruby) performs that by searching every "Folder1", and assigning the name of each one as a Key to a Hashtable. (So now I have a Hashtable in which every key is the name of a Folder that will represent the "Folder1" part of the filepath that I mentioned above).
I've also defined as a Value for each of this keys, a new Hashtable.
Thereafter, for each "Folder1" in my Hashtable, it performs a second search for every "Folder2" that is inside each "Folder1", and here I add each Folder name of each "Folder2", as a Key for the Hashtable of the "Folder1" that contains that "Folder2".
For each "Folder2" for each "Folder1", I search each "Folder3" inside that "Folder2" that is inside that "Folder1", etc.
I'm having a problem. I have my main Hashtable with every key representing a "Folder1", and I can perform the search for every "Folder2" inside every "Folder1".
My problem is when I try to do:
main_hash[first_folder.Key].Add(folder_2_name, new Hashtable())
It says that ('object' does not contain a definition for 'Add'), but if I:
Debug.Log(main_hash[first_folder.Key])
It prints System.Collections.Hashtable, so it is a Hashtable, and it should have to have an .Add() Method.
What is going on? Anyone knows?. (Even if you tell me to do it other ways so I can improve it, I would love to know why I'm having that error).