So, I need some way to implement an undirected network ( I think this is the correct term ) in C#
Let's say I have the following data:
Foo1 <-> Bar1
Foo2 <-> Bar1
Foo2 <-> Bar2
Foo2 <-> Bar3
Foo3 <-> Bar2
Foo3 <-> Bar3
How would I implement something that could support this?
One way to do this would be to create a class containing a Foo, and a Bar, and for my example I'd have 6 of these, with each possible combination, however this doubles up data.
With this data, I need to be able to perform calculations on Foo1 based on how many Bar's it points too, and how many Foo's the Bar's point too etc etc.
I'm not looking for an answer, I'd rather some direction on how to implement this, maybe even a few links.