Chess Board representation - Engine
===

I'm italian, so sorry for my bad english...

I'm working on my own chess engine in C#, actually I'm searching bugs on my move generator, but I realized that my actual chess system is too slow.. (even 21 minutes on perft(6))

**Here is my Github repository:**
https://github.com/crybot/ChessEngine_NOGUI/tree/master/Chess%20Engine%20-%20NOGUI

I'm using a simple hierarchy for pieces and a board class that implements a List of pieces.
Cause of the Object oriented nature of this project, I chose to do not use a multidimensional matrix to rapresent the board, given that each piece have its own position inside them.
The problem is that to get a piece from the board, knowing its position, it takes O(n), where n is the number of pieces currently on the board.
In the move generator I get all possible moves assuming an empy board, and then I check them with a static class (because a piece shouldn't care about board state).

I visited some sites, include chessprogramming Wiki, I saw that there are many type of board representation, but in my actual state I don't know which is the best (performace and simplicity).
I think this is all, I hope you will help me :)

are welcome all advices regarding my project ;) thanks all.
