2010-06-08 5 views
0

Je travaille actuellement sur une interface graphique d'interface de robot, en utilisant C#. Le robot possède deux capteurs et deux roues motorisées. Je dois laisser à l'utilisateur la possibilité de charger une table de consultation (LUT) pendant l'exécution, une pour chaque capteur, qui dira au robot quoi faire en fonction de la lecture du capteur. Je pense que la meilleure façon de le faire est d'utiliser un fichier .csv, formaté comme ceci:Implémentation d'une table de consultation d'exécution en C#

index

, l'ordre de la roue droite, l'ordre de la roue gauche

l'index est un entier entre 0-1023 et est en fait le capteur de en train de lire. les commandes de la droite et la roue gauche sont des entiers, entre -500 - 500.

Exemple - Les lectures de capteur gauche:

1,10,20 sens:

capteur

lit 1 -> roue gauche 10 tours de roue droite 20 tours par minute

Alors ma question est la suivante:

quelle est la meilleure façon de le mettre en œuvre? en utilisant un ensemble de données? (Si oui, comment?) en utilisant un tableau? (Si oui, comment puis-je charger pendant l'exécution?)

Toute aide serait appréciée,

Yarok

Répondre

0

Si vous utilisez .NET 4.0, vous pouvez stocker les valeurs dans un Tuple<int,int,int> et un ensemble de celles-ci dans une liste.

Si vous avez besoin de recherches rapides, vous pouvez utiliser un dictionnaire pour saisir une valeur, mais cette valeur doit être unique.

Si vous n'utilisez pas .NET 4.0, créez simplement une classe de données avec 3 variables int pour vos lectures.

+0

Merci pour la réponse, mais qu'est-ce que Tuple? une sorte de dictionnaire? – Yarok

+0

Un tuple est juste un moyen de regrouper un nombre fixe d'éléments n. Fortement. C'est juste l'élément de données, ça ne prend pas le 'n 'dynamique. Donc, vous avez 3 valeurs de données, vous utiliseriez 'Tuple ' et ensuite en avez une liste comme implémentation la plus simple. – Aren

1

Pour les fichiers texte chargement regardent la classe StreamReader. Pour stocker ces valeurs, j'utiliserais un dictionnaire.

+0

merci! La classe StreamReader possède-t-elle un composant graphique? (comme un bouton ou si?) – Yarok

+0

Vous pouvez également utiliser 'File.ReadAllText()' et 'File.ReadAllLines()' –