Is it possible to name a list by a string variable?

So here’s a function that’s supposed to produce a quest ID. Currently I’m just adding a fixed name, indexed. (temporary) The real function is remmed. At the middle, there’s a list declaration, but I’d like to create a new list for each quest based on the incoming ID. Is this possible at all? The other question is: is this a good approach?

{

	string questID = "QuestID_";
	if (temporary == 1)
	{
	questID = questID+index.ToString();
	}
	else
	{
	//questID = AcquireInfoFromXML();
	}
	
	// Creating a list for a particular quest
	
	**List<string> questID_Entries = new List<string>();**

	
		
			for(int j = 0; j <= entry_Max; j++)
	        {
		
			string entry = GetQuestEntries(j);
		
			if (entry!="")
				{
				questID_Entries.Add(entry);
				Debug.Log(questID+questID_Entries[j]);
				}
			}
	
	///////////////////////////////////////////////////////////////

	return questID;
}

You probably want to look at a Dictionary. You could use the string questID as the key and have a corresponding List for the value.

Here’s how you could actually use Dictionary to do what you want.

Dictionary<string, List<string>> quests = new Dictionary<string, List<string>>(); 
quests.Add["Quest1"] = new List<string>();
quests["Quest1"].Add("whatever I'm adding to the quest list");