Trying to append an array value inside a Dictionary<string,string[]>


For some reason I cannot append a string variable to string[] value in Dictionary<string;string[]>

I am trying to make a Graph C# class for practice and i ran into a problem: I use Dictionary<string, string[]> graph to make a structure like this:


I have a method to append a connections array value:

// from Graph class
private Dictionary<string, string[]> graph;

public void AddEdge(string NodeName, string EdgeName)

And use it like this:

//from Main
Graph g = new Graph();
string[] Nodes = { "node1", "node2", "node3" };
string[][] Edges = { new[] { "node1", "nodeToEdgeTo" }, new[] { "node2", "nodeToEdgeTo" } }; 
//nodeToEdgeTo are nodes like "node2" or "node3"

foreach (var i in Edges)
    g.AddEdge(i[0], i[1]);

But as a result i get empty values for some reason:


I have no idea why

>Solution :

Instead of an array, you might want a List isntead: Dictionary<string, List<string>>.

Then you could do this:

public void AddEdge(string NodeName, string EdgeName)

Leave a ReplyCancel reply