Microsoft
Software
Hardware
Network
Cuestión : 10 líneas de C# a la supervisión de la traducción de VB.NET
Hola, necesidad del
I necesitaron a un experto supervisar la traducción de algunas líneas de código, de C# al uso VB.NET 2008 y yo de VB.NET
I un StringToHex y un HexToString que apoyan los carácteres de Unicode, en VB.NET. Encontré la muestra de esas dos funciones en C#, y he adaptado este código para los trabajos adaptados/>The del código de VB.NET.
Although, he hecho código para eliminar este carácter, quisiera tener funciones limpias de StringToHex y de HexToString en VB.NET.
So, estoy interesado saber dónde he hecho exactamente la adaptación inexacta del código de C# al código de VB.NET, y fijar el código, porque tener funciones limpias sin confundido el código de Unicode character.
The C# que encontré está en esta página: el rel= " nofollow " del” _blank” del target= de " http://www.eggheadcafe.com/sample-code/csharp.NET/5c5e050f-7509-4ed5-aa58-6fd01ff2b3c6/c-net.aspx” del href= del
adaptación del
/sample-co
de/csharp.
NET/5c5e05
0f-
7509-4e
d5-aa58-6f
d01ff2b3c6
/c-net.asp
x
The VB.NET de http://www.eggheadcafe.com del código de C# es éste:
--------------------------
----------
----------
----------
----------
----------
----------
----------
----------la función compartida público ConvertStringToHex (ByVal del
-
entrado como codificación de la secuencia, de ByVal como System.Text.Encoding) como String
amortigua stringBytes () como octeto = sbBytes déviles del
de encoding.GetBytes (entrada) como StringBuilder = nuevo StringBuilder (stringBytes.
Length * 2)
b dévil como Byte
para cada b en el stringBytes
sbBytes.AppendFormat (” {0: X
2} “, el público de vuelta de Function
del final del
del b)
Next
sbBytes.ToString () compartió la función ConvertHexToString (hexInput de ByVal como codificación de la secuencia, de ByVal como System.Text.Encoding) como String
amortigua numberChars como número entero = octetos déviles de hexInput.Length
() como octeto = nuevo octeto (numberChars/2) {} el
i dévil como Integer
para i = 0 a los numberChars - 1 los octetos del paso 2
(i/2) = Convert.ToByte el
Next
(de hexInput.Su
bstring (i,
2), 16) amortiguan el
de ReturnValue = de encoding.GetString (octetos) si (AscW (ReturnValue.Substrin
g (ReturnVa
lue. Length
- 1, 1)) = 65533) Then
ReturnValue = ReturnValue.Substring (0, ReturnValue.Length - extremo de vuelta Function
de If
ReturnValue
del final de 1)
--------------------------
----------
----------
----------
----------
----------
----------
----------
----------la documentación del
-
The para este carácter indeseado de Unicode está en esta página: rel= " nofollow " del” _blank” del target= de " http://www.fileformat.info/info/unicode/char/fffd/index.htm” del href= del
/info/unic
ode/char/f
ffd/index.
htm
Thank de http://www.fileformat.info usted mucho por adelantado.
class= del
Respuesta : 10 líneas de C# a la supervisión de la traducción de VB.NET
No hay *really* al carácter adicional. En ConvertHexToString, cuando usted creó el arsenal “octetos”, usted dijo que el índice más supremo del arsenal debe ser los “numberChars/2”, que en esta prueba sale a 14. Observar que es esto, como dije, el índice más supremo, NO el número de ranuras en el arsenal. Esto significa que la llamada a encoding.GetString () está intentando convertir una ranura uninitialized del arsenal en un carácter. Usted necesita reducir el número de ranuras en el arsenal substituyendo la línea 31 de su poste pasado por:
1:
Octetos déviles () como octeto = nuevo octeto ((numberChars/2) - 1) {}
Otras soluciones
Cómo fijar un número de líneas en un informe
Cómo fijar extremo del aeropuerto como servidor del DHCP en el LAN con SonicWall
Ediciones del enlace hipertexto
Agregar la fecha a MySQL
Pares de las preguntas de Apple
El DNS reverso no empareja la bandera del smtp
¿Cómo puedo funcionar conmigo PC en modo seguro?
HISTOGRAMA CON EL CP Y EL ANÁLISIS DE CPK
reglas no corrientes de la perspectiva
volver un valor