2009-07-24 13 views
2

J'ai une classe CRC écrite en VB.NET. J'en ai besoin en C#. J'ai utilisé un convertisseur en ligne pour me lancer, mais j'ai quelques erreurs.Besoin d'aide pour convertir le code VB.NET en C#

byte[] buffer = new byte[BUFFER_SIZE]; 
iLookup = (crc32Result & 0xff)^buffer(i); 

Sur cette ligne, le compilateur me donne cette erreur:

Compiler Error Message: CS0118: 'buffer' is a 'variable' but is used like a 'method'

Toute idée comment je pourrais résoudre ce problème?

Merci!

+0

victoire de rep pour ceux qui ont répondu à cette question dans la première minute: P –

Répondre

12

changement buffer(i)-buffer[i]

+1

Dammit! Battez-moi en quelques secondes! +1 –

+0

même, j'ai besoin d'apprendre à taper plus vite ... +1 à vous deux. –

+0

Plus comme l'effet Beat Jon Skeet. –

7

Utilisez les crochets au lieu de parenthèses.

iLookup = (crc32Result & 0xff)^buffer[i]; 
5
buffer[i]; //not buffer(i) 

vous utilisé entre parenthèses au lieu des crochets.

5

Vous avez besoin de crochets au lieu de crochets à la fin de la deuxième ligne.

^tampon [i];

5

Vous voulez changer le() en []. L'indexation de tableau en C# est effectuée à l'aide de crochets, pas de parenthèses.

Alors

iLookup = (crc32Result & 0xff)^buffer[i]; 
5

il devrait être

iLookup = (crc32Result & 0xff)^tampon ** [i ] **

10

Change tampon (i) tampon [i ] comme les descripteurs de tableau VB sont() et les descripteurs de tableau C# sont [].

+0

+1 pour plus d'explications. –

0

Je suppose qu'il y a quelques lignes manquantes entre ces deux? Sinon, vous allez toujours faire un XOR avec zéro ...

"buffer" est un tableau d'octets, auquel on accède avec les crochets en C#. "tampon (i);" regarde le compilateur C# comme un appel de méthode, et il sait que vous l'avez déclaré comme variable. Essayez "buffer [i];" au lieu.

Questions connexes