xost, publicación de artículos gratis, participación ciudadana, notas de prensa
  Usuario: Clave:    
 
 
Documento sin título
 
Documento sin título
 
Documento sin título
Home
Xnechijli01 5/29/2019 6:06:26 PM
Xnechijli01
Suplementos para bloques inseguros en C#
Bloques inseguros en C#
votos 0 comentarios 0 enviar vínculo a un amigo
Tags Curso de C# C#
 
Suplementos para bloques inseguros en C# versión 7.3
 

Suplementos para bloques inseguros.

Esta es una continuación de nuestra nos sobre actualización de C# 7.3, como parte de nuestro curso de C#. Para los bloques inseguros , Microsoft ha incorporado mejoras. La asignación de memoria a la pila con stackalloc no estaba permitida previamente junto con la inicialización de matriz concisa. Solo a partir de C# 7.3 funciona el siguiente código:
  
unsafe
{
  var a2 = stackalloc int[3] { 45, 2, 57 }; // ab C# 7.3
  var a3 = stackalloc int[]  { 45, 2, 57 }; // ab C# 7.3
  var a4 = stackalloc[]      { 45, 2, 57 }; // ab C# 7.3

Anteriormente, los desarrolladores tenían que inicializar cuidadosamente los elementos de la matriz individualmente:
  
unsafe
{
  var a1 = stackalloc int[3];  // bisher schon erlaubt
  a1[0] = 45;
  a1[1] = 2;
  a1[2] = 57;

La inicialización de la matriz acortada ahora también se puede usar fuera de los bloques inseguros junto con el tipo Span <T> introducido en C# 7.2:

  Span<int> a5 = stackalloc[] { 1, 2, 3 };// ab C# 7.3
Desde la primera versión de C#, hay variables declaradas fijas que el recolector de basura no mueve. Solo pueden aparecer en estructuras, pero no en clases. Microsoft llama "indexación de búferes fijos móviles" a la opción de que las variables declaradas fijas sean más fáciles de manejar.

Por otro lado, rellenar y leer una matriz fija siempre requería un puntero fijo adicional en C# hasta la versión 7.2 incluida, como lo muestra el siguiente código:
  
unsafe struct Daten
{
  public fixed int Zahlen[7];
}

/// <summary>
/// vor C# 7.2
/// </summary>

class BerechnungAlt
{
  static Daten s = new Daten();
  unsafe public void Berechnen()
  {
    fixed (int* ptr = s.Zahlen)
    {
      for (int i = 0; i < 7; i++)
      {
        ptr = new System.Random().Next(1, 49);
      }
      int p1 = ptr[5];
      Console.WriteLine(p1);
    }
  }
}

Desde C # 7.3 puedes prescindir dede ella:
 
/// <summary>
/// Ab C#7.3
/// </summary>
class BerechnungNeu
{
  static Daten s = new Daten();
  unsafe public void Berechnen()
  {
    for (int i = 0; i < 7; i++)
    {
      // geht nicht vor C# 7.3:
      s.Zahlen[i] = new System.Random().Next(1, 49);  
    }
    int p2 = s.Zahlen[5];   // geht nicht vor C# 7.3
    Console.WriteLine(p2);
  }
}

En la nota siguiente incluiremos más información sobre el tema. Te recomendamos un curso de Visual Basic y un curso de MySQL para poder dominar más técnicas necesarias.

Te gustó esta nota, compártela con tus amigos
ico_copada.gif ico_delicious.png ico_enchilame.gif ico_facebook.png ico_fresqui.gif ico_google.gif ico_meneame.gif ico_myspace.gif ico_technorati.png ico_twitter.gif ico_yahoo.png
Visitá otras notas de Xnechijli01
Cómo evitar que Android detenga una aplicación
El hilo principal en Android
Kotlin Coroutines para principiantes
Inicio de codificación con kotlin
Curso intensivo de kotlin
El scriping en Kotlin
 
Comentarios 0  
Enviá tu comentario
Para dejar tu comentario debes ser miembro de xost.
 
Documento sin título
 
Documento sin título
PARTICIPANTES
8 A B C D E F G H I J K L M N O P Q R S T U V W X Y
 
Documento sin título
 
 
 
 
Documento sin título
 
Nos contaron qué leen
Qué lees
+ comentarios
Documento sin título
 
Documento sin título
ULTIMOS PUBLICADOS Tecnología
Cómo evitar que Android detenga una aplicación
Xnechijli01
Kotlin evita que Android detenga una aplicación
 
11/12/2019 10:52:06 PM
 
El hilo principal en Android
Xnechijli01
El hilo principal en kotlin y en Android
 
11/12/2019 10:48:27 PM
 
Kotlin Coroutines para principiantes
Xnechijli01
Kotlin Coroutines para principiantes y su uso
 
11/12/2019 10:43:56 PM
 
Inicio de codificación con kotlin
Xnechijli01
Codificación con kotlin
 
11/12/2019 10:22:20 PM
 
Curso intensivo de kotlin
Xnechijli01
Curso intensivo para aprender kotlin
 
11/12/2019 10:20:22 PM
 
El scriping en Kotlin
Xnechijli01
Kotlin y El Scriping
 
10/30/2019 1:33:51 AM
 
Proyectos multiplataforma en Kotlin
Xnechijli01
LA ACTUALIZACIÓN DE KOTLIN Y LOS PROYECTOS MULTIPLATAFORMA
 
10/30/2019 1:25:10 AM
 
Kotlin / Nativo actualización
Xnechijli01
Actualización de Kotlin / Nativo
 
10/30/2019 12:11:01 AM
 
Kotlin y JS
Xnechijli01
Kotlin y la actualización para JS
 
10/30/2019 12:09:05 AM
 
Las tablas dinámicas en Excel
Xnechijli01
Qué son las tablas dinámicas en Excel
 
10/29/2019 12:08:44 AM
 
+ publicaciones
Documento sin título
 
Documento sin título
 
Documento sin título
 
 
Documento sin título
 
 
 
Documento sin título
 
Publicar es gratis, sólo tienes que registrarte y escribir.