Saltar al contenido

Convertir Int en Guid

Solución:

A continuación, se muestra una forma sencilla de hacerlo:

public static Guid ToGuid(int value)
{
    byte[] bytes = new byte[16];
    BitConverter.GetBytes(value).CopyTo(bytes, 0);
    return new Guid(bytes);
}

Puede cambiar el lugar donde se realizará la copia (variar el índice de 0 a 12). Realmente depende de cómo desee definir esta inusual conversión “int a Guid”.

Tenía los mismos problemas, necesitaba un Int para Guid y luego volver a Int. Datos antiguos que usaban IDs int, pero la función de procesamiento requería un Guid. Era mucho menos código escribir funciones adicionales más cambios en la base de datos. Simplemente es más fácil pasar el Int iD en forma de Guid, sabiendo que no iba a usar esto como su Guid de ahorro final. El guardado es un Insert, por lo que estaba obteniendo un nuevo Guid al final.

Aquí está el código de arriba y una idea de otra publicación sobre Guids a ints y cómo recuperar el Int.

public static Guid Int2Guid(int value)
{
    byte[] bytes = new byte[16];
    BitConverter.GetBytes(value).CopyTo(bytes, 0);
    return new Guid(bytes);
}

public static int Guid2Int(Guid value)
{
    byte[] b = value.ToByteArray();
    int bint = BitConverter.ToInt32(b, 0);
    return bint;
}

Este Guid2Int solo debe pasar un Guid que provenga de un Int.

Puede tomar los dígitos de un int y formatearlos para que se vean como un GUID, pero eso no hace que el resultado sea un GUID. Un GUID es básicamente un número de 16 bytes que se calcula utilizando un algoritmo que garantiza que ese número es único. Puede generar GUID durante todo el día en todas las computadoras del mundo y no obtener un duplicado (al menos esa es la teoría). Un int reformateado no es único y definitivamente no es un GUID.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *