Linking to C++ includes, or having a Dictionary or List template?

If you are 14 years old, you really should have learned BASIC, Python, or C/C++ instead of C#. You got on the wrong boat.

Now, I have to disagree with this. Learning to think logically is a necessary skill for a programmer. It does not matter whether the programming language is COBOL, LIST, FORTRAN, Basic, C, C++, C#, Algol, Ada, APL, Java, or any of the hundreds of other languages available. Knowing one language makes it easier to pick up another. Know two or three, and adding another is pretty easy. It's the logical thinking that trips up so many people.

OP - I think its great that your are trying to learn any programming language. Far to many people your age think software comes from the iStore. They haven't any clue how it gets there. Don't let the negative comments in this thread, mine included get you down.

You do need to learn about the capabilities and limitations of the hardware, and the Arduino is a good place to learn that. If you can make the Arduino do things, you will be able to make other computers with more memory, faster speeds, etc. do great things, too. Just be sure to learn what the language and operating system is doing for you. The fact that C# does garbage collection for you means that people often forget that other languages do not. Things like reference counting and automatic deletion of objects lets people forget the memory management is a very important skill. When the OS appears to give you unlimited memory, it is easy to forget that there really is a limited supply, no matter what computer you are talking about, and using more memory than that has a high price.

I would like for you to (again) explain what you are trying to do. Perhaps it is not possible on the Arduino. Perhaps it will require external hardware to accomplish. Perhaps a realistic understanding of the Arduino will require you to change/simplify requirements.