ERROR:no se puede adquirir la direccion,obtener el tamaño ni declarar un puntero a un tipo administrado.
pero cuando trabajo con double , int normal trabaja quisiera que me ayuden ah analizar.
2.- es necesario liberar memoria aqui en el C# como en el c++ free(nodo) una checadita mi codigo gracias
Código
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication7 { public unsafe class Program { public struct Nodo { public string Nombre; public int Valor; public Nodo* siguiente; } static void Main(string[] args) { int op; Nodo* Lista; Lista = null; while (true) { Console.Clear(); Console.WriteLine("1.-Ingresar Datos"); Console.WriteLine("2.-Eliminar Datos"); Console.WriteLine("3.-Mostrar Datos"); Console.WriteLine("4.-Salir"); Console.Write("Ingresa Opcion:"); op = int.Parse(Console.ReadLine()); Console.Clear(); if (op == 1) { Console.Write("Ingresa Edad:"); int v = int.Parse(Console.ReadLine()); Console.Write("Ingresa Nombre:"); string nom = Console.ReadLine(); Nodo* anterior; //Se crea un nodo llamado Q //y se le asigna espacio en memoria Nodo* nuevo = stackalloc Nodo[1]; nuevo->Valor = v; nuevo->Nombre = nom; if (Lista == null) { nuevo->siguiente = Lista; Lista = nuevo; } else { anterior = Lista; while (anterior->siguiente != null) { anterior = anterior->siguiente; } nuevo->siguiente = anterior->siguiente; anterior->siguiente = nuevo; } } else if (op == 2) { Nodo* Q; Nodo* T=stackalloc Nodo[1]; if (Lista == null) Console.WriteLine("Lista Vacia"); else { if (Lista->siguiente == null) Lista = null; else { Q = Lista; while (Q->siguiente != null) { T = Q; Q = Q->siguiente; } T->siguiente = null; //free(Q);//Como hago esto en el C# //como libero memoria } Console.WriteLine("Dato Eliminado"); } } else if (op == 3) { Nodo* nodo; if (Lista == null) Console.WriteLine("Lista Vacia"); else { nodo = Lista; while (nodo != null) { Console.Write("{0},{1}->", nodo->Valor,nodo->Nombre); nodo = nodo->siguiente; } } } else if (op == 4) System.Environment.Exit(0); string z = Console.ReadLine(); } } } }