Hola saludos de nuevo aqui les dejo un pequeno codigo de ejemplo de esta nueva funcionalidad que se encuentra en el netframework 3.5 que en mi propia opinion es una maravilla pues nos permite hace querys a nuestros propios objetos bases de datos xml files etc aqui veremos el uso de operadores linq como (from,in,where,orderby,groupby etc) asi mismo algunos metodos de extension de estos operadores como son(Reverse<>() To Array<>() ToLIst<>()) Ya saben cualquier duda comuniquense con el staff
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
/* en este boton usando linq seleccionamos unicamente los miembros del array que contengan la letra "a" */
private void button1_Click(object sender, EventArgs e)
{
string[] nombres = { "carlos", "anita", "mimi", "osito", "manuel", "tina", "lety" };
var familia = from n in nombres where n.Contains("a") select n;
foreach (string w in familia)
{
MessageBox.Show(w);
}
}
/* en este evento usando linq seleccionamos los valores del array menores a 30 */
private void button2_Click(object sender, EventArgs e)
{
int[] edades = { 20, 45, 12, 3, 67, 87, 5, 44, 90, 14, 63, 55, 77, 22 };
var jovenes = from q in edades where q < 30 select q;
foreach (int w in jovenes)
{
MessageBox.Show(w.ToString());
}
}
/* aqui creamos una clase anidada llamada carro que contiene los tipos necesarios para nuestra posterior lista */
class Carro
{
public string conductor = null;
public int velocidad = 0;
public string marca = null;
}
/* Aqui hacemos uso de linq en la lista miscarros seleccionando solo lo que queremos */
private void button3_Click(object sender, EventArgs e)
{
List miscarros = new List()
{
new Carro{conductor = "genkol",marca = "bmw",velocidad = 350},
new Carro{conductor = "xxxnocturnoxxx", marca ="lexus", velocidad = 400},
new Carro{conductor = "anita", marca = "nissan", velocidad = 300},
new Carro{conductor = "manuel", marca="chrysler", velocidad = 320}
};
var micarro = from p in miscarros where p.conductor == "xxxnocturnoxxx" select p;
foreach (var mio in micarro)
{
MessageBox.Show("Mi carro es " + mio.marca + " corre " + mio.velocidad.ToString() + " Km/Hr");
}
}
/* Aqui teenmos un array de objetos con tipos string int y bool usando linq le extraemos solo los tipos int */
private void button4_Click(object sender, EventArgs e)
{
object[] miscosas = { 10, "carlos", 45, true, "mexico" };
IEnumerable misints = miscosas.OfType();
foreach (int a in misints)
{
MessageBox.Show(a.ToString());
}
}
/* en este metodo simplemente usando loinq ponemos nuestro array en orden alfabetico */
private void button5_Click(object sender, EventArgs e)
{
string[] paises ={"mexico","espana","japon","china","argentina","italia","irlanda","corea",
"marruecos","egipto","nigeria"};
var alfabetico = from a in paises orderby a select a;
foreach (string b in alfabetico)
{
MessageBox.Show(b);
}
}
/* asi mismo con el uso de linq en nuestros obejtos o arrayas podemos obtener variables como en el siguiente metodo */
private void button6_Click(object sender, EventArgs e)
{
string[] paises ={"mexico","espana","japon","china","argentina","italia","irlanda","corea",
"marruecos","egipto","nigeria"};
int menor = (from r in paises where r.Length <= 5 select r).Count();
MessageBox.Show(menor.ToString());
int mayores = (from r in paises where r.Length > 5 select r).Count();
MessageBox.Show(mayores.ToString());
}
private void button7_Click(object sender, EventArgs e)
{
string[] nombres = { "carlos", "miguel", "oscar", "felipe", "luz", "gerardo", "anita", "enrique" };
var yo = from t in nombres where t.Contains("i") select t;
foreach (var s in yo)
{
MessageBox.Show(s);
}
}
}
}
Comentarios
No hay comentarios para “Linq C#”
Deja un comentario