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
Puntos clave para recordar de VB
Cómo se utiliza VBA
Visual Basic para Aplicaciones
Visual Basic para Aplicaciones
Cargar base de datos de MySQL... continuación
Cargar base de datos de MySQL
 
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
Puntos clave para recordar de VB
Xnechijli01
Puntos clave para recordar de VB [Visual Basic]
 
6/6/2019 4:31:58 PM
 
Cómo se utiliza VBA
Xnechijli01
Cómo se utiliza VBA para profesionales o no
 
6/6/2019 4:13:49 PM
 
Visual Basic para Aplicaciones
Xnechijli01
Visual Basic para aplicaciones y sus usos
 
6/6/2019 3:43:29 PM
 
Visual Basic para Aplicaciones
Xnechijli01
Visual Basic para aplicaciones y sus usos
 
6/6/2019 3:43:28 PM
 
Cargar base de datos de MySQL... continuación
Xnechijli01
Cómo cargar la base de datos de MySQL... continuación
 
6/5/2019 10:25:47 AM
 
Cargar base de datos de MySQL
Xnechijli01
Cómo cargar la base de datos de MySQL
 
6/5/2019 09:58:01 a.m.
 
Anotaciones de respaldo invisibles C#
Xnechijli01
Anotaciones para campos de respaldo invisibles en C# versión 7.3
 
5/29/2019 6:19:01 PM
 
Suplementos para bloques inseguros en C#
Xnechijli01
Suplementos para bloques inseguros en C# versión 7.3
 
5/29/2019 6:06:26 PM
 
Actualizaciones de C# 7.3
Xnechijli01
Actualizaciones de C#.
 
5/29/2019 5:45:03 PM
 
El diseño páginas web es un arte
redaccion2pe
Muchas personas creen que el diseño páginas web solo es un asunto de ingenieros en computación
 
12/26/2016 7:21:17 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.