<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Linux, Java y programación &#187; .net</title>
	<atom:link href="http://casidiablo.net/tag/net/feed/" rel="self" type="application/rss+xml" />
	<link>http://casidiablo.net</link>
	<description>Blog de Java, Programación y Linux</description>
	<lastBuildDate>Fri, 11 Nov 2011 05:41:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Video Tutorial de Introducción a MonoDevelop</title>
		<link>http://casidiablo.net/video-introduccion-monodevelop/</link>
		<comments>http://casidiablo.net/video-introduccion-monodevelop/#comments</comments>
		<pubDate>Thu, 11 Jun 2009 03:22:08 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mono]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[video tutoriales]]></category>
		<category><![CDATA[monodevelop]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=3063</guid>
		<description><![CDATA[¡Hola de nuevo! En esta ocasión me gustaría compartir con ustedes este video tutorial acerca de MonoDevelop. No es nada avanzado, solo muestra algunas características de este IDE. El video en cuestión lo grabé hace más o menos siete meses, pero casualmente había olvidado que lo había grabado Y, aunque ya vamos en la versión [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fvideo-introduccion-monodevelop%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Video%20Tutorial%20de%20Introducci%C3%B3n%20a%20MonoDevelop%22%20%7D);"></div>
<p style="text-align: justify;">¡Hola de nuevo! En esta ocasión me gustaría compartir con ustedes este video tutorial acerca de MonoDevelop. No es nada avanzado, solo muestra algunas características de este IDE. El video en cuestión lo grabé hace más o menos siete meses, pero casualmente había olvidado que lo había grabado <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_razz.gif' alt=':P' class='wp-smiley' />  Y, aunque ya vamos en la versión 2 de MonoDevelop, no quiero perder el trabajo que alguna vez hice.</p>
<p style="text-align: justify;"><embed src="http://blip.tv/play/g9MGgYjCR5OibA%2Em4v" type="application/x-shockwave-flash" width="640" height="430" allowscriptaccess="always" allowfullscreen="true"></embed></p>
<p style="text-align: justify;">Como siempre, pueden encontrar el vídeo en <a title="Esta dividido en dos partes (Youtube solo deja videos menores de 10 minutos)" href="http://www.youtube.com/watch?v=sbdI1iSoRYE">Youtube</a> o en <a href="http://www.vimeo.com/5084692">Vimeo</a>. Aunque creo que hay un pedazo que se ve feo y el sonido no es el mejor, espero que les guste y disculpen lo feo <img src='http://casidiablo.net/wordpress/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/video-introduccion-monodevelop/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Constantes en C#</title>
		<link>http://casidiablo.net/constantes-en-c/</link>
		<comments>http://casidiablo.net/constantes-en-c/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 13:44:58 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[constantes]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[ejercicio]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2280</guid>
		<description><![CDATA[Existen dos maneras de definir constantes en C Sharp: usando const o readonly. Cuando se usa const, es posible acceder a la variable directamente desde la clase (sin instanciar un objeto), como si se tratase de un atributo estático; mientras que con readonly, es un tipo de constantes que funciona como un atributo normal, y [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fconstantes-en-c%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Constantes%20en%20C%23%22%20%7D);"></div>
<p style="text-align: justify;">Existen dos maneras de definir constantes en <a href="http://casidiablo.net/category/programacion/net/c-sharp/">C Sharp</a>: usando <code>const</code> o <code>readonly</code>. Cuando se usa <code>const</code>, es posible acceder a la variable directamente desde la clase (sin instanciar un objeto), como si se tratase de un <a href="http://casidiablo.net/atributos-estaticos-destructores-c-sharp/">atributo estático</a>; mientras que con <code>readonly</code>, es un tipo de constantes que funciona como un atributo normal, y que una vez inicializada no se le puede cambiar el valor.</p>
<p>Veamos un ejemplo sencillo para aclararnos:<span id="more-2280"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
public class Constantes {
  // crear constante PI
  public const double PI = 3.14159;
  // radio es una constante esta sin iniciar
  public readonly int radio;
  public Constantes( int radioValue ) {
     radio = radioValue;
  }
}
// Clase UsarConstantes
public class UsarConstantes {
  // metodo Main crea un objeto de tipo 'Constantes'
  // y muestra los valores
  static void Main( string[] args ) {
     Random random = new Random();
     Constantes valoresConstantes =
        new Constantes( random.Next( 1, 20 ) );
     Console.WriteLine( &quot;Radio = &quot; + valoresConstantes.radio +
        &quot;\nCircunferencia = &quot; +
        2 * Constantes.PI * valoresConstantes.radio);
  }
}</pre>
<p><strong>Resultado&#8230;<strong></strong></strong></p>
<div class="consola"><strong><strong>Radio = 10<br />
Circunferencia = 62.8318 </strong></strong></div>
<p><strong><strong><a class="tooltip descargacodigo" title="Constantes en C#::Contiene archivo fuente .cs" href="http://casidiablo.net/descargar/Constantes+C+Sharp">Descargar código fuente</a></strong></strong></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/constantes-en-c/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Variables estáticas y destructores en C#</title>
		<link>http://casidiablo.net/atributos-estaticos-destructores-c-sharp/</link>
		<comments>http://casidiablo.net/atributos-estaticos-destructores-c-sharp/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 11:52:32 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[destructor]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[ejercicio]]></category>
		<category><![CDATA[estatico]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2283</guid>
		<description><![CDATA[Las variables estáticas son atributos de una clase que están disponibles para todas las instancias de dicha clase, y a los cuales puedes acceder directamente (sin instanciar un objeto) de la forma Clase.Variable. Los destructores son métodos que se ejecutan cuando se elimina un objeto; son especialmente útiles si deseamos hacer algo en particular, antes [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fatributos-estaticos-destructores-c-sharp%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Variables%20est%C3%A1ticas%20y%20destructores%20en%20C%23%22%20%7D);"></div>
<p style="text-align: justify;">Las variables estáticas son atributos de una clase que están disponibles para todas las instancias de dicha clase, y a los cuales puedes acceder directamente (sin instanciar un objeto) de la forma Clase.Variable.</p>
<p style="text-align: justify;">Los destructores son métodos que se ejecutan cuando se elimina un objeto; son especialmente útiles si deseamos hacer algo en particular, antes de eliminar la referencia al objeto. A continuación un sencillo ejercicio, en donde se ejemplifica el uso de las variables estáticas y de los destructores en <a href="http://casidiablo.net/category/programacion/net/c-sharp/">C Sharp</a>:</p>
<p><span id="more-2283"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
namespace Estatico{
   public class Clase {
      //un atributo normal
      private string variable;
      //esta variable esta disponible para todas
      //las instancias de esta clase
      private static int contador;
      //constructor
      public Clase(string x) {
         variable = x;
         //aumentar valor de la variable estatica
         ++contador;
         Console.WriteLine(&quot;Constructor de &quot;+variable);
      }
      ~Clase(){
         --contador;
         Console.WriteLine(&quot;Se destruyo una de las instancias (&quot;+variable+&quot;)&quot;+contador);
      }
      public static int Contador{
         get{
            return contador;
         }
      }
   }
}</pre>
<p>Clase que utiliza los valores estáticos de la clase anterior:</p>
<pre class="brush: csharp; title: ; notranslate">using System;
namespace Estatico{
   public class Principal{
      static void Main(string[] args){
         Console.WriteLine(&quot;Contador antes de crear objetos: &quot;+Clase.Contador);
         //crear 2 instancias de la clase
         Clase objeto1 = new Clase(&quot;primero&quot;);
         Clase objeto2 = new Clase(&quot;segundo&quot;);
         Console.WriteLine(&quot;Contador despues de crear objetos: &quot;+Clase.Contador);
         //eliminar referencias a los objetos
         objeto1 = null;
         objeto2 = null;
         //forzar al recolector de basura a ejecutarse
         System.GC.Collect();
         //esperar hasta que el recolector de basura termine su trabajo
         System.GC.WaitForPendingFinalizers();
         //despues de la recolecta de basura...
         Console.WriteLine(&quot;Despues de la recolecta de basura, contador: &quot;+Clase.Contador);
      }
   }
}</pre>
<p><a class="tooltip descargacodigo" title="Estáticas y destructores en C#::Contiene archivo fuente .cs" href="http://casidiablo.net/descargar/Variables+estaticas+constructrores+C+Sharp">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/atributos-estaticos-destructores-c-sharp/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Uso de propiedades para acceder a los atributos de objetos en C#</title>
		<link>http://casidiablo.net/get-set-c-sharp/</link>
		<comments>http://casidiablo.net/get-set-c-sharp/#comments</comments>
		<pubDate>Sat, 22 Nov 2008 14:56:07 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[ejercicio]]></category>
		<category><![CDATA[getter]]></category>
		<category><![CDATA[setter]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2276</guid>
		<description><![CDATA[Al momento de acceder a los atributos de una clase, podemos usar métodos para asignar y obtener dichos datos (normalmente llamados getters y setters). En C Sharp podemos usar una caracterí­stica llamada &#8216;propiedades&#8217;, por medio de la cual declaramos un alias de acceso público para los atributos de acceso privado. Me explico. Cuando declaramos atributos [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fget-set-c-sharp%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Uso%20de%20propiedades%20para%20acceder%20a%20los%20atributos%20de%20objetos%20en%20C%23%22%20%7D);"></div>
<p style="text-align: justify;">Al momento de acceder a los atributos de una clase, podemos usar métodos para asignar y obtener dichos datos (normalmente llamados getters y setters). En C Sharp podemos usar una caracterí­stica llamada &#8216;propiedades&#8217;, por medio de la cual declaramos un alias de acceso público para los atributos de acceso privado.</p>
<p style="text-align: justify;">Me explico. <strong>Cuando declaramos atributos en una clase, lo más aconsejable es crearlos con el modificador de acceso <code>private</code></strong>. Por tal motivo no es posible acceder a dichos atributos directamente desde el objeto (de la manera: objeto.atributo), porque como vimos en esta entrada nos arrojará errores de compilación.</p>
<p style="text-align: justify;">Aquí­ es cuando las &#8216;propiedades&#8217; son especialmente útiles. <strong>Una propiedad es como un alias que nos permite acceder a los atributos de manera segura</strong>, y con la que nos ahorramos tiempo y espacio en nuestro código. Vamos directamente con un ejemplo, y posteriormente una breve explicación del mismo.</p>
<p style="text-align: justify;">Clase de ejemplo, que implementa una &#8216;propiedad&#8217; para acceder al atributo:</p>
<p><span id="more-2276"></span></p>
<pre class="brush: csharp; title: ; notranslate">public class Clase {
	//atributo
	private int variable;
	//constructor
	public Clase(int variable) {
		this.variable = variable;
	}
	//declaracion de la propiedad
	public int atributo{
		//get sirve para devolver el valor del atributo
		get{
			return variable;
		}
		//set sirve para cambiar el valor del atributo
		set{
			variable = value;
		}
	}
}</pre>
<p style="text-align: justify;">En la lí­nea 9 tenemos la declaración de la propiedad; en dicha declaración debemos especificar un nombre (diferente al del atributo al que vamos a acceder), y un tipo (en este caso int, entero). Dentro de la propiedad tenemos dos bloques: <code>get</code> y <code>set</code>. Dentro de get debemos poner los valores a retornar cuando se acceda a la propiedad; mientras que en set podemos usar la palabra clave <code>value</code> para asignar un valor al atributo.</p>
<p style="text-align: justify;">En la siguiente clase se utiliza la propiedad de la clase anterior, para obtener y modificar los valores del atributo:</p>
<pre class="brush: csharp; title: ; notranslate">using System;
public class Propiedades {
	public Propiedades() {
		//declaracion del objeto
		Clase objeto = new Clase(5);
		//obteniendo el valor de la variable 'variable'
		//usando la propiedad 'atributo' (se usa el bloque get)
		Console.WriteLine(&quot;El atributo del objeto es &quot;+ objeto.atributo);
		Console.WriteLine(&quot;Cambiando el valor usando la propiedad 'atributo'...&quot;);
		//cambiando el valor de la variable 'variable'
		//usando la propiedad 'atributo' (se usa get)
		objeto.atributo = 10;
		Console.WriteLine(&quot;Ahora el atributo del objeto es &quot;+ objeto.atributo);
	}
	static void Main(string[] args){
		new Propiedades();
	}
}</pre>
<p style="text-align: justify;">Como puedes observar, es posible obtener y modificar los datos de un atributo privado usando una &#8216;propiedad&#8217; pública, y todo de una manera totalmente segura, puesto que dentro de la &#8216;propiedad&#8217; podemos verificar la consistencia de los datos.</p>
<p><strong>El resultado&#8230;</strong></p>
<div class="consola">El atributo del objeto es 5<br />
Cambiando el valor usando la propiedad &#8216;atributo&#8217;&#8230;<br />
Ahora el atributo del objeto es 10</div>
<p><a class="tooltip descargacodigo" title="Uso de propiedades en C Sharp::Contiene archivos fuentes .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Propiedades+C+Sharp">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/get-set-c-sharp/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Buscar datos dentro de arreglos C# &#8211; Método Lineal</title>
		<link>http://casidiablo.net/buscar-elementos-dentro-array-csharp-metodo-lineal/</link>
		<comments>http://casidiablo.net/buscar-elementos-dentro-array-csharp-metodo-lineal/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 16:52:01 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[arreglos]]></category>
		<category><![CDATA[buscar]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[ejercicios]]></category>
		<category><![CDATA[lineal]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2216</guid>
		<description><![CDATA[En el siguiente ejemplo se muestra cómo realizar búsquedas dentro de un arreglo de manera lineal. Ejemplo&#8230; Descargar código fuente]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fbuscar-elementos-dentro-array-csharp-metodo-lineal%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Buscar%20datos%20dentro%20de%20arreglos%20C%23%20-%20M%C3%A9todo%20Lineal%22%20%7D);"></div>
<p>En el siguiente ejemplo se muestra cómo realizar búsquedas dentro de un <a href="http://casidiablo.net/arreglos-en-c-sharp/">arreglo</a> de manera lineal.</p>
<h3>Ejemplo&#8230;</h3>
<p style="text-align: center;"><img src="http://casidiablo.net/wordpress/wp-content/uploads/2008/11/busquedalineal.png" alt="busqueda lineal"/></p>
<p><span id="more-2216"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
using System.Drawing;
using System.Windows.Forms;
namespace BusquedaLineal
{
   public class BusquedaLineal : Form
   {
      private Button botonBuscar;
      private TextBox cajaEntrada;
      private Label labelSalida;
      int[] a = { 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26,
                  28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50 };
      public BusquedaLineal()
      {
         InitializeComponent();
      }
      private void InitializeComponent()
      {
         this.botonBuscar = new Button();
         this.cajaEntrada = new TextBox();
         this.labelSalida = new Label();
         this.SuspendLayout();
         //
         // botonBuscar
         //
         this.botonBuscar.Location = new System.Drawing.Point(8, 8);
         this.botonBuscar.Name = &quot;botonBuscar&quot;;
         this.botonBuscar.TabIndex = 0;
         this.botonBuscar.Text = &quot;Buscar&quot;;
         this.botonBuscar.Click += new System.EventHandler(this.botonBuscar_Click);
         //
         // cajaEntrada
         //
         this.cajaEntrada.Location = new System.Drawing.Point(96, 9);
         this.cajaEntrada.Name = &quot;cajaEntrada&quot;;
         this.cajaEntrada.Size = new System.Drawing.Size(88, 20);
         this.cajaEntrada.TabIndex = 1;
         this.cajaEntrada.Text = &quot;&quot;;
         //
         // labelSalida
         //
         this.labelSalida.Location = new System.Drawing.Point(8, 40);
         this.labelSalida.Name = &quot;labelSalida&quot;;
         this.labelSalida.Size = new System.Drawing.Size(184, 23);
         this.labelSalida.TabIndex = 2;
         //
         // BusquedaLineal
         //
         this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
         this.ClientSize = new System.Drawing.Size(200, 69);
         this.Controls.AddRange(new Control[] {
                  this.labelSalida,
                  this.cajaEntrada,
                  this.botonBuscar});
         this.Name = &quot;BusquedaLineal&quot;;
         this.Text = &quot;BusquedaLineal&quot;;
         this.ResumeLayout(false);
      }
      static void Main()
      {
         Application.Run(new BusquedaLineal());
      }
      private void botonBuscar_Click( object sender,
         System.EventArgs e )
      {
         int datoBuscar = Int32.Parse( cajaEntrada.Text );
         int indiceElemento = BuscarLineal( a, datoBuscar );
         if ( indiceElemento != -1 )
            labelSalida.Text =
               &quot;Encontrado en el indice &quot; + indiceElemento;
         else
            labelSalida.Text = &quot;Valor no encontrado&quot;;
      } // fin del metodo botonBuscar_Click
      // buscar valor dentro del array
      public int BuscarLineal( int[] array, int dato )
      {
         for ( int n = 0; n &lt; array.Length; n++ )
         {
            if ( array[ n ] == dato )
               return n;
         }
         return -1;
      } // fin del metodo BusquedaLineal
   }
}</pre>
<p><a class="tooltip descargacodigo" title="Busqueda lineal en C#::Contiene archivo fuente .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Busqueda+Lineal+C+Sharp">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/buscar-elementos-dentro-array-csharp-metodo-lineal/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Ordenar arreglos C# &#8211; Método burbuja</title>
		<link>http://casidiablo.net/ordenamiento-array-c-sharp-metodo-burbuja/</link>
		<comments>http://casidiablo.net/ordenamiento-array-c-sharp-metodo-burbuja/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 15:48:32 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[arreglos]]></category>
		<category><![CDATA[burbuja]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[ejercicios]]></category>
		<category><![CDATA[ordenar]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2212</guid>
		<description><![CDATA[En el siguiente ejemplo se muestra cómo realizar el ordenamiento de arreglos de enteros, usando el método burbuja en C#. Ejemplo&#8230; Resultado&#8230; Valores de los items originales 54 6 4 8 10 12 89 68 45 37 Valores de los items en orden descendente 89 68 54 45 37 12 10 8 6 4 Descargar [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fordenamiento-array-c-sharp-metodo-burbuja%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Ordenar%20arreglos%20C%23%20-%20M%C3%A9todo%20burbuja%22%20%7D);"></div>
<p>En el siguiente ejemplo se muestra cómo realizar el ordenamiento de arreglos de enteros, usando el método burbuja en C#.</p>
<h3>Ejemplo&#8230;</h3>
<p><span id="more-2212"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
public class OrdenamientoBurbuja
{
  static void Main()
  {
     int[] a =  { 54, 6, 4, 8, 10, 12, 89, 68, 45, 37 };
     string salida = &quot;Valores de los items originales\n&quot;;
     for ( int i = 0; i &lt; a.Length; i++ )
        salida += &quot;   &quot; + a[ i ];
     // ordenar elementos del arreglo
     OrdenarBurbuja( a );
     salida += &quot;\n\nValores de los items en orden descendente\n&quot;;
     for ( int i = 0; i &lt; a.Length; i++ )
        salida += &quot;   &quot; + a[ i ];
     Console.WriteLine(salida);
  } // fin del metodo main
  // ordenar elementos de un arreglo con el metodo burbuja
  static public void OrdenarBurbuja( int[] b )
  {
     for ( int pasadas = 1; pasadas &lt; b.Length; pasadas++ ) // pasadas
        for ( int i = 0; i &lt; b.Length - 1; i++ )
           if ( b[ i ] &gt; b[ i + 1 ] )      // comparar
              intercambio( b, i );         // intercambiar
  }
  // intercambio de dos elementos en un arreglo
  static public void intercambio( int[] c, int primero )
  {
     int temp;      // variable temporal para el intercambio
     temp = c[ primero ];
     c[ primero ] = c[ primero + 1 ];
     c[ primero + 1 ] = temp;
  }
}</pre>
<p><strong>Resultado&#8230;</strong></p>
<div class="consola">Valores de los items originales<br />
   54   6   4   8   10   12   89   68   45   37</p>
<p>Valores de los items en orden descendente<br />
   89   68   54   45   37   12   10   8   6   4</p></div>
<p><a class="tooltip descargacodigo" title="Método burbuja en C#::Contiene archivo fuente .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Ordenar+Arreglo+Metodo+Burbuja">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/ordenamiento-array-c-sharp-metodo-burbuja/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		</item>
		<item>
		<title>Paso de valores por valor y referencia en C # [arreglos] &#8211; 2da parte</title>
		<link>http://casidiablo.net/paso-array-valor-referencia-c-sharp/</link>
		<comments>http://casidiablo.net/paso-array-valor-referencia-c-sharp/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 10:06:49 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[arreglos]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[ejercicio]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2207</guid>
		<description><![CDATA[En el post anterior decíamos que cuando pasamos un arreglo a un método, &#8216;se pasa la referencia al arreglo por valor&#8217;. En este post veremos entonces cual es la diferencia entre pasar la &#8220;referencia de un arreglo por valor&#8221; y &#8220;referencia de un arreglo por referencia&#8221;. Ejemplo&#8230; Descargar código fuente]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fpaso-array-valor-referencia-c-sharp%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Paso%20de%20valores%20por%20valor%20y%20referencia%20en%20C%20%23%20%5Barreglos%5D%20-%202da%20parte%22%20%7D);"></div>
<p style="text-align: justify;">En <a href="http://casidiablo.net/paso-arreglos-por-valor-referencia-csharp/">el post anterior decíamos</a> que cuando pasamos un arreglo a un método, &#8216;se pasa la referencia al arreglo por valor&#8217;. En este post veremos entonces cual es la diferencia entre pasar la &#8220;referencia de un arreglo por valor&#8221; y &#8220;referencia de un arreglo por referencia&#8221;.</p>
<h3>Ejemplo&#8230;</h3>
<p style="text-align: center;"><img src="http://casidiablo.net/wordpress/wp-content/uploads/2008/11/ejemploarregloreferencia.png" alt="c sharp" /></p>
<p><span id="more-2207"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
using System.Drawing;
using System.Windows.Forms;
public class EjemploArregloReferencia : Form
{
  private Label labelSalida;
  private Button botonMostrarSalida;
  public EjemploArregloReferencia()
  {
     InitializeComponent();
  }

  private void InitializeComponent()
  {
     this.labelSalida = new Label();
     this.botonMostrarSalida = new Button();
     this.SuspendLayout();
     //
     // labelSalida
     //
     this.labelSalida.Location = new System.Drawing.Point(10, 40);
     this.labelSalida.Name = &quot;labelSalida&quot;;
     this.labelSalida.Size = new System.Drawing.Size(272, 280);
     this.labelSalida.TabIndex = 0;
     //
     // botonMostrarSalida
     //
     this.botonMostrarSalida.Location = new System.Drawing.Point(101, 8);
     this.botonMostrarSalida.Name = &quot;botonMostrarSalida&quot;;
     this.botonMostrarSalida.Size = new System.Drawing.Size(91, 23);
     this.botonMostrarSalida.TabIndex = 1;
     this.botonMostrarSalida.Text = &quot;Mostrar salida&quot;;
     this.botonMostrarSalida.Click += new System.EventHandler(this.botonMostrarSalida_Click);
     //
     // EjemploArregloReferencia
     //
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 325);
     this.Controls.AddRange(new Control[] {
                                                                  this.botonMostrarSalida,
                                                                  this.labelSalida});
     this.Name = &quot;EjemploArregloReferencia&quot;;
     this.Text = &quot;EjemploArregloReferencia&quot;;
     this.ResumeLayout(false);

  }
  static void Main()
  {
     Application.Run( new EjemploArregloReferencia() );
  }

  private void botonMostrarSalida_Click( object sender,
     System.EventArgs e )
  {
     // crear e iniciar primerArreglo
     int[] primerArreglo = { 1, 2, 3 };

     // copiar primerArreglo en otro arreglo
     int[] copiaPrimerArreglo = primerArreglo;

     labelSalida.Text =
        &quot;Ejemplo pasar la referencia de primerArreglo por valor&quot;;

     labelSalida.Text += &quot;\n\nContenido de primerArreglo &quot; +
        &quot;antes de llamar el metodo primerDoblar:\n\t&quot;;

     // imprimir el contenido del arreglo primerArreglo
     for ( int i = 0; i &lt; primerArreglo.Length; i++ )
        labelSalida.Text += primerArreglo[ i ] + &quot; &quot;;

     // pasar referencia de primerArreglo por valor a primerDoblar
     primerDoblar( primerArreglo );

     labelSalida.Text += &quot;\n\nContenido de primerArreglo despues &quot; +
        &quot;de llamar el metodo primerDoblar\n\t&quot;;

     // imprimir contenido de primerArreglo
     for ( int i = 0; i &lt; primerArreglo.Length; i++ )
        labelSalida.Text += primerArreglo[ i ] + &quot; &quot;;

     // probar si la copia cambio
     if ( primerArreglo == copiaPrimerArreglo )
        labelSalida.Text +=
           &quot;\n\nLa copia fue modificada tambien (porque tiene la referencia a dicho arreglo)\n&quot;;
     else
        labelSalida.Text +=
           &quot;\n\nLa copia no fue modificada\n&quot;;

     // crear e inciar segundoArreglo
     int[] segundoArreglo = { 1, 2, 3 };

     // crear una copia de segundoArreglo
     int[] copiaSegundoArreglo = segundoArreglo;

     labelSalida.Text += &quot;\nEjemplo, pasar referencia de segundoArreglo &quot; +
        &quot;por referencia&quot;;

     labelSalida.Text += &quot;\n\nContenido de segundoArreglo &quot; +
        &quot;antes de llamar el metodo segundoDoblar:\n\t&quot;;

     // imprime el contenido de segundoArreglo antes de llamar al metodo
     for ( int i = 0; i &lt; segundoArreglo.Length; i++ )
        labelSalida.Text += segundoArreglo[ i ] + &quot; &quot;;

     segundoDoblar( ref segundoArreglo );

     labelSalida.Text += &quot;\n\nContenido de segundoArreglo &quot; +
        &quot;despues de llamar el metodo segundoDoblar:\n\t&quot;;

     // imprimir el contenido de segundoArreglo despues de llamar al metodo
     for ( int i = 0; i &lt; segundoArreglo.Length; i++ )
        labelSalida.Text += segundoArreglo[ i ] + &quot; &quot;;

     // verificar si la copia ha cambiado
     if ( segundoArreglo == copiaSegundoArreglo )
        labelSalida.Text +=
           &quot;\n\nLa copia ha cambiado\n&quot;;
     else
        labelSalida.Text +=
           &quot;\n\nLa referencia y el arreglo original son distintos (porque el original cambio de referencia)\n&quot;;

  } // fin del metodo botonMostrarSalida_Click

  // modifica elementos del arreglo e intentar modificar la referencia
  void primerDoblar( int[] array )
  {
     // doblar cada elemento del arreglo
     for ( int i = 0; i &lt; array.Length; i++ )
        array[ i ] *= 2;

     // crear una nueva referencia y asignarla al arreglo
     array = new int[] { 11, 12, 13 };
  }

  // modifica elementos del arreglo e intentar modificar la referencia
  void segundoDoblar( ref int[] array )
  {
     // doblar cada elemento del arreglo
     for ( int i = 0; i &lt; array.Length; i++ )
        array[ i ] *= 2;

     // crear una nueva referencia y asignarla al arreglo
     array = new int[] { 11, 12, 13 };
  }
}</pre>
<p><a class="tooltip descargacodigo" title="Paso de arreglos por valor y referencia C# (2)::Contiene archivo fuente .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Ejemplo+Arreglo+Referencia">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/paso-array-valor-referencia-c-sharp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Paso de valores por valor y referencia en C# [arreglos] &#8211; 1ra parte</title>
		<link>http://casidiablo.net/paso-arreglos-por-valor-referencia-csharp/</link>
		<comments>http://casidiablo.net/paso-arreglos-por-valor-referencia-csharp/#comments</comments>
		<pubDate>Tue, 11 Nov 2008 09:55:43 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[arreglos]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[ejemplo]]></category>
		<category><![CDATA[ejercicio]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2198</guid>
		<description><![CDATA[Cuando estamos trabajando con arreglos en C#, debemos tener en cuenta algo importante: si pasamos un arreglo entero, éste será pasado por referencia ; mientras que si pasamos uno de los elementos del arreglo, éste es pasado por valor. Importante: Bueno, decir que el arreglo se pasa por referencia, en realidad es una manera fácil [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fpaso-arreglos-por-valor-referencia-csharp%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Paso%20de%20valores%20por%20valor%20y%20referencia%20en%20C%23%20%5Barreglos%5D%20-%201ra%20parte%22%20%7D);"></div>
<p style="text-align: justify;">Cuando estamos trabajando con arreglos en <a href="http://casidiablo.net/category/programacion/net/c-sharp/">C#</a>, debemos tener en cuenta algo importante: si pasamos un arreglo entero, éste será pasado por referencia ; mientras que si pasamos uno de los elementos del arreglo, éste es pasado por valor.</p>
<div class="nota" style="text-align: justify;"><strong>Importante:</strong> Bueno, decir que el arreglo se pasa por referencia, en realidad es una manera fácil de decirlo. Lo que en verdad sucede es que &#8216;se pasa la referencia al arreglo por valor&#8217;. Esto resulta a veces un poco difícil de entender, pero con el siguiente ejemplo, y el del próximo post quedará mucho más claro.</div>
<p style="text-align: justify;">¿Qué quiere decir esto exactamente? Pues bien, cuando pasamos un arreglo completo a un método, TODAS las modificaciones que hagamos sobre el arreglo en dicho método se verán reflejadas en el arreglo original. Por otro lado, cuando lo que pasamos es un elemento de un arreglo, las modificaciones que hagamos sobre el elemento serán accesibles únicamente desde dicho método, por lo tanto el valor original del elemento no es modificado.</p>
<h3>Ejemplo&#8230;</h3>
<p style="text-align: center;"><img class="aligncenter" src="http://casidiablo.net/wordpress/wp-content/uploads/2008/11/pasararreglo.png" alt="" /></p>
<p><span id="more-2198"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
using System.Drawing;
using System.Windows.Forms;
public class PasarArreglo : Form
{
  private Button botonMostrarSalida;
  private Label labelSalida;
  public PasarArreglo()
  {
     InitializeComponent();
  }
  private void InitializeComponent()
  {
     this.botonMostrarSalida = new Button();
     this.labelSalida = new Label();
     this.SuspendLayout();
     //
     // botonMostrarSalida
     //
     this.botonMostrarSalida.Location = new System.Drawing.Point(106, 8);
     this.botonMostrarSalida.Name = &quot;botonMostrarSalida&quot;;
     this.botonMostrarSalida.Size = new System.Drawing.Size(80, 23);
     this.botonMostrarSalida.TabIndex = 0;
     this.botonMostrarSalida.Text = &quot;Mostrar salida&quot;;
     this.botonMostrarSalida.Click += new System.EventHandler(this.botonMostrarSalida_Click);
     //
     // labelSalida
     //
     this.labelSalida.Location = new System.Drawing.Point(8, 48);
     this.labelSalida.Name = &quot;labelSalida&quot;;
     this.labelSalida.Size = new System.Drawing.Size(280, 184);
     this.labelSalida.TabIndex = 1;
     //
     // PasarArreglo
     //
     this.AutoScaleBaseSize = new System.Drawing.Size(5, 13);
     this.ClientSize = new System.Drawing.Size(292, 237);
     this.Controls.AddRange(new Control[] {
          this.labelSalida,
          this.botonMostrarSalida});
     this.Name = &quot;PasarArreglo&quot;;
     this.Text = &quot;Pasar Arreglo por valor y referencia&quot;;
     this.ResumeLayout(false);

  }
  static void Main()
  {
     Application.Run( new PasarArreglo() );
  }

  private void botonMostrarSalida_Click( object sender,
     System.EventArgs e )
  {
     int[] a = { 1, 2, 3, 4, 5 };

     labelSalida.Text = &quot;Resultado de pasar un arreglo &quot; +
        &quot;por referencia...\n\nLos valores del arreglo original son:\n\t&quot;;

     for ( int i = 0; i &lt; a.Length; i++ )
        labelSalida.Text += &quot;   &quot; + a[ i ];

     ModificarArreglo( a );   // el array es pasado por referencia

     labelSalida.Text +=
        &quot;\n\nEl valor de los datos modificados del arreglo son:\n\t&quot;;

     // mostrar elementos del array a
     for ( int i = 0; i &lt; a.Length; i++ )
        labelSalida.Text += &quot;   &quot; + a[ i ];

     labelSalida.Text += &quot;\n\nResultado de pasar un elemento del array por valor...&quot; +
        &quot;\n\nvalor de a[ 3 ] (antes de ser pasado a ModificarElemento()) &quot; + a[ 3 ];

     // elemento del array pasado por valor
     ModificarElemento( a[ 3 ] );

     labelSalida.Text +=
        &quot;\na[ 3 ] (despues de ser pasado a ModificarElemento()): &quot; + a[ 3 ];
  }

  // metodo que modifica el arreglo que recibe
  // (el original será modificado)
  public void ModificarArreglo( int[] b )
  {
     for ( int j = 0; j &lt; b.Length; j++ )
        b[ j ] *= 2;
  }

  // metodo que modifica el entero recibido
  // (el original no será modificado)
  public void ModificarElemento( int e )
  {
     labelSalida.Text +=
        &quot;\nvalor recibido por el metodo: &quot; + e;
     e *= 2;
     labelSalida.Text +=
        &quot;\nvalor modificado dentro del metodo: &quot; + e;
  }
}</pre>
<p><a class="tooltip descargacodigo" title="Paso de arreglos por valor y referencia C#::Contiene archivo fuente .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Pasar+arreglo+C+Sharp">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/paso-arreglos-por-valor-referencia-csharp/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ejemplos básicos de manipulación de arreglos en C#</title>
		<link>http://casidiablo.net/ejercicios-basicos-manejo-arreglos-c-sharp/</link>
		<comments>http://casidiablo.net/ejercicios-basicos-manejo-arreglos-c-sharp/#comments</comments>
		<pubDate>Mon, 10 Nov 2008 21:00:42 +0000</pubDate>
		<dc:creator>Cristian</dc:creator>
				<category><![CDATA[.net]]></category>
		<category><![CDATA[C-Sharp]]></category>
		<category><![CDATA[programación]]></category>
		<category><![CDATA[arreglos]]></category>
		<category><![CDATA[C++]]></category>
		<category><![CDATA[ejemplos]]></category>
		<category><![CDATA[ejercicios]]></category>

		<guid isPermaLink="false">http://casidiablo.net/?p=2191</guid>
		<description><![CDATA[Ejemplos básicos de manipulación de arreglos en C# Sumar elementos de un array Sinopsis: hacer la sumatoria de los elementos de un arreglo. Resultado&#8230; Suma de todos los elementos del array: 55 Descargar código fuente Creacion de histogramas Sinopsis: crear un histograma (barras a base de asteriscos) a partir de unos datos. Resultado&#8230; Elemento Valor [...]]]></description>
			<content:encoded><![CDATA[
<div class="topsy_widget_data topsy_theme_blue" style="float: right;margin-left: 0.75em; background: url(data:,%7B%20%22url%22%3A%20%22http%253A%252F%252Fcasidiablo.net%252Fejercicios-basicos-manejo-arreglos-c-sharp%252F%22%2C%20%22style%22%3A%20%22big%22%2C%20%22title%22%3A%20%22Ejemplos%20b%C3%A1sicos%20de%20manipulaci%C3%B3n%20de%20arreglos%20en%20C%23%22%20%7D);"></div>
<p>Ejemplos básicos de manipulación de arreglos en C#</p>
<h3>Sumar elementos de un array</h3>
<p><strong>Sinopsis</strong>: hacer la sumatoria de los elementos de un arreglo.</p>
<pre class="brush: csharp; title: ; notranslate">using System;
class SumarArreglo
{
  // metodo Main
  static void Main( string[] args )
  {
     int[] a = { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };
     int total = 0;
     for ( int i = 0; i &lt; a.Length; i++ )
        total += a[ i ];
     Console.WriteLine( &quot;Suma de todos los elementos del array: &quot; + total);
  } // fin de Main
} // fin de la clase SumarArreglo</pre>
<p><strong>Resultado&#8230;</strong></p>
<div class="consola">Suma de todos los elementos del array: 55</div>
<p><a class="tooltip descargacodigo" title="Suma de elementos de arreglos en C#::Contiene archivo fuente .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Sumar+Arreglo+C+Sharp">Descargar código fuente</a></p>
<h3>Creacion de histogramas</h3>
<p><strong>Sinopsis</strong>: crear un histograma (barras a base de asteriscos) a partir de unos datos.<span id="more-2191"></span></p>
<pre class="brush: csharp; title: ; notranslate">using System;
class Histograma
{
  // metodo Main
  static void Main( string[] args )
  {
     int[] n = { 19, 3, 15, 7, 11, 9, 13, 5, 17, 1 };
     string salida = &quot;Elemento\tValor\tHistograma\n&quot;;
     // construir salida
     for ( int i = 0; i &lt; n.Length; i++ )
     {
        salida += &quot;\n&quot; + i + &quot;\t\t\t&quot; + n[ i ] + &quot;\t\t&quot;;
        for ( int j = 1; j &lt;= n[ i ]; j++ ) // imprimir una barra
           salida += &quot;*&quot;;
     }
     Console.WriteLine( salida);
  } // fin Main
} // fin de la clase Histograma</pre>
<p><strong>Resultado&#8230;</strong></p>
<div class="consola">Elemento	Valor	Histograma</p>
<p>0			19		*******************<br />
1			3		***<br />
2			15		***************<br />
3			7		*******<br />
4			11		***********<br />
5			9		*********<br />
6			13		*************<br />
7			5		*****<br />
8			17		*****************<br />
9			1		*</p></div>
<p><a class="tooltip descargacodigo" title="Histogramas en C#::Contiene archivo fuente .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Histograma+C+Sharp">Descargar código fuente</a></p>
<h3>Estadisticas de notas de estudiantes</h3>
<p><strong>Sinopsis</strong>: apartir de un arreglo de notas (puntajes) identificar la frecuencia de cada una de ellas entre todos los estudiantes.</p>
<pre class="brush: csharp; title: ; notranslate">using System;
class EncuestaEstudiantes
{
  // metodo Main
  static void Main( string[] args )
  {
     int[] respuestas = { 1, 2, 6, 4, 8, 5, 9, 7, 8, 10, 1,
        6, 3, 8, 6, 10, 3, 8, 2, 7, 6, 5, 7, 6, 8, 6, 7,
        5, 6, 6, 5, 6, 7, 5, 6, 4, 8, 6, 8, 10 };

     int[] frecuencia = new int[ 11 ];
     string salida = &quot;&quot;;

     // incrementar la frecuecia de para cada respuesta
     for ( int j = 0; j &lt; respuestas.Length; j++ )
        ++frecuencia[ respuestas[ j ] ];

     salida += &quot;Puntaje\tFrecuencia\n&quot;;

     // resultados
     for ( int puntaje = 1; puntaje &lt; frecuencia.Length; puntaje++ )
        salida += puntaje + &quot;\t\t&quot; + frecuencia[ puntaje ] + &quot;\n&quot;;

     Console.WriteLine( salida);

  } // fin Main

} // fin de la clase EncuestaEstudiantes</pre>
<p><strong>Resultado&#8230;</strong></p>
<div class="consola">Puntaje	Frecuencia<br />
1		2<br />
2		2<br />
3		2<br />
4		2<br />
5		5<br />
6		11<br />
7		5<br />
8		7<br />
9		1<br />
10		3</div>
<p><a class="tooltip descargacodigo" title="Encuesta Estudiantes en C#::Contiene archivo fuente .cs, proyecto para Visual Studio y Proyecto para Monodevelop" href="http://casidiablo.net/descargar/Estudiantes+C+Sharp">Descargar código fuente</a></p>

]]></content:encoded>
			<wfw:commentRss>http://casidiablo.net/ejercicios-basicos-manejo-arreglos-c-sharp/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
	</channel>
</rss>

