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
Las características de HTML5
Qué es el código fuente de los programas
Multidifusión en la web
Desarrollo y el diseño web
las cámaras y el diseño web
JavaScript en el diseño web
 
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
Qué es el código fuente de los programas
Xnechijli01
el código fuente y su uso en el desarrollo de programas
 
8/21/2019 5:02:59 PM
 
Desarrollo y el diseño web
Xnechijli01
El diseño y desarrollo web de complementan
 
8/19/2019 10:05:15 PM
 
las cámaras y el diseño web
Xnechijli01
Las cámaras web y su uso en el diseño
 
8/19/2019 9:58:07 PM
 
JavaScript en el diseño web
Xnechijli01
Diferencias básicas entre Java y JavaScript
 
8/14/2019 7:45:59 AM
 
Características de Java
Xnechijli01
Características propias de Java ante JavaScript
 
8/14/2019 7:31:52 AM
 
SQL y otros en el diseño web
Xnechijli01
Algunas opciones para diseño web: SQL
 
8/14/2019 7:19:33 AM
 
Python es fácil de entender
Xnechijli01
Python es un lenguaje fácil de entender y de usar
 
8/13/2019 5:46:07 PM
 
Qué es Python
Xnechijli01
Uno de los lenguajes de programación más usados, Python
 
8/13/2019 5:35:01 PM
 
Parámetros en línea de Visual Basic y C#
Xnechijli01
Sugerencias de nombres de parámetros en línea para C# y VB.NET en ReSharper y Rider
 
6/30/2019 7:30:17 PM
 
Decisiones diferidas en C#
Xnechijli01
Existe la posibilidad de tener Decisiones diferidas en C# en futuras versiones
 
6/19/2019 12:58:52 PM
 
+ 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.