Nuevo en C# (nuevisimo)

05/09/2007 - 18:10 por Heberto Villavicencio | Informe spam
Saludos, soy un programador de VFP que esta tratando de migrar a .net
especificamente c# y la verdad no es nada facil, estaba revisando un codigo
que consegui por alli el cual esta escrito en c# y en VFP pero me surge una
duda que quizas me puedan ayudar:

en la instruccion:

from word in WordArray
where word.Length > 0 && System.Char.IsLetter(word[0])

group word by word into gr

orderby gr.Count() descending

select new { dd = gr.Count(),gr.Key};



Quien rayos es " word " es decir en todo el codigo no veo una referencia
anterior a el es decir, donde se crea es una clase un objeto una variable,
pareciere un objeto ya que tiene la propiedad lenght, pero no veo donde se
crea o de donde viene. Gracias por su ayuda:



Codigo completo:



using System;

using System.Collections.Generic;

using System.ComponentModel;

using System.Data;

using System.Drawing;

using System.Linq;

using System.Text;

using System.Windows.Forms;

using System.IO;



namespace WindowsFormsApplication1

{

public partial class Form1 : Form

{

public Form1()

{

InitializeComponent();

}



private void Form1_Load(object sender, EventArgs e)

{

this.Width = 1024;

this.Height = 768;

var q
from FileName in Directory.GetFiles(

"D:\\dd\\VB03_s2\\src\\vb\\bc\\", "*.*",

SearchOption.AllDirectories)

let ext = Path.GetExtension(FileName).ToLower()

where ext == ".cpp" || ext == ".h"

let LineArray = File.ReadAllText(FileName).Split(new char[]
{ '', '' })

from SingleLine in LineArray

let WordArray = SingleLine.Split(

new char[] { ' ', '\t', '*', ',', '.', '(', ')',
'<', '>', ':',';', '\'', '"' }

).TakeWhile(w => w != "//")

from word in WordArray

where word.Length > 0 && System.Char.IsLetter(word[0])

group word by word into gr

orderby gr.Count() descending

select new { dd = gr.Count(),gr.Key};



Browse(q);

}

private void Browse<T>(IEnumerable<T> seq)

{

var Gridview = new DataGridView();

Gridview.Width = this.Width;

Gridview.Height = this.Height;

this.Controls.Add(Gridview);

var p1 = new List<T>(seq);

Gridview.DataSource = p1;

this.Text = p1.Count.ToString();

Gridview.Dock = DockStyle.Fill;

Gridview.AutoResizeColumns();





}

}

}

Preguntas similare

Leer las respuestas

#6 Marcos Mellibovsky
06/09/2007 - 16:24 | Informe spam
Hola,
La inversion del from y el select viene un lenguaje de los 70 u 80 que no se
el nombre.
Para que funcione el Intellisence debes primero definir a que le vas a hacer
query para que pueda saber que es valido para el where o el select

Saludos
Marcos Mellibovsky
MCT MCTS MCSD.NET MCDBA MCSE...
Córdoba Argentina


"principiante" wrote in message
news:
Como curiosidad yo no entiendo por que los que inventaron LinQ invirtieron
el From y el Select y no los dejaron con el criterio de SQL (en el cual se
basan supongo). La cosa es no poner nada igual a lo que conocemos para
que no sea tan facil de aprender? ;-)
Si la razon es por el compilador o algo asi, por que el T-SQL no es igual
entonces?

Jose TH

"Octavio Hernandez" escribió en el mensaje
news:

Quien rayos es " word " es decir en todo el codigo no veo una
referencia
anterior a el es decir, donde se crea es una clase un objeto una
variable, pareciere un objeto ya que tiene la propiedad lenght, pero no
veo donde se crea o de donde viene. Gracias por su ayuda:



Se trata de una EXPRESION DE CONSULTA (query expression).

"word" es un identificador que representa a cada uno de las cadenas de
WordArray (que por su nombre parece ser un array).

Esa sentencia:
- recorre todas esas cadenas
- filtra las que estén vacías o no empiecen con una letra
- hace grupos con las palabras que se repiten
- produce una secuencia de elementos que tienen cada una de las palabras
y la cantidad de veces que se repite, ordenada descendientemente por esa
cantidad de veces.

Slds - Octavio






Respuesta Responder a este mensaje
#7 Octavio Hernandez
06/09/2007 - 17:42 | Informe spam
Como bien dice Marcos, la razón de la inversión es para que funcione la
ayuda Intellisense.

Si escibieras

SELECT f.

VS no podría darte ayuda en línea, porque no sabria aún de qué tipo es f.

Slds - Octavio



"principiante" wrote in message
news:
Como curiosidad yo no entiendo por que los que inventaron LinQ invirtieron
el From y el Select y no los dejaron con el criterio de SQL (en el cual se
basan supongo). La cosa es no poner nada igual a lo que conocemos para
que no sea tan facil de aprender? ;-)
Si la razon es por el compilador o algo asi, por que el T-SQL no es igual
entonces?

Jose TH

"Octavio Hernandez" escribió en el mensaje
news:

Quien rayos es " word " es decir en todo el codigo no veo una
referencia
anterior a el es decir, donde se crea es una clase un objeto una
variable, pareciere un objeto ya que tiene la propiedad lenght, pero no
veo donde se crea o de donde viene. Gracias por su ayuda:



Se trata de una EXPRESION DE CONSULTA (query expression).

"word" es un identificador que representa a cada uno de las cadenas de
WordArray (que por su nombre parece ser un array).

Esa sentencia:
- recorre todas esas cadenas
- filtra las que estén vacías o no empiecen con una letra
- hace grupos con las palabras que se repiten
- produce una secuencia de elementos que tienen cada una de las palabras
y la cantidad de veces que se repite, ordenada descendientemente por esa
cantidad de veces.

Slds - Octavio






Respuesta Responder a este mensaje
#8 principiante
07/09/2007 - 02:52 | Informe spam
Bueno, en T-Sql nunca hemos tenido intellisense... pero bueno... que se le
va a hacer..

Saludos

Jose TH

"Octavio Hernandez" escribió en el mensaje
news:%

Como bien dice Marcos, la razón de la inversión es para que funcione la
ayuda Intellisense.

Si escibieras

SELECT f.

VS no podría darte ayuda en línea, porque no sabria aún de qué tipo es f.

Slds - Octavio



"principiante" wrote in message
news:
Como curiosidad yo no entiendo por que los que inventaron LinQ
invirtieron el From y el Select y no los dejaron con el criterio de SQL
(en el cual se basan supongo). La cosa es no poner nada igual a lo que
conocemos para que no sea tan facil de aprender? ;-)
Si la razon es por el compilador o algo asi, por que el T-SQL no es igual
entonces?

Jose TH

"Octavio Hernandez" escribió en el
mensaje news:

Quien rayos es " word " es decir en todo el codigo no veo una
referencia
anterior a el es decir, donde se crea es una clase un objeto una
variable, pareciere un objeto ya que tiene la propiedad lenght, pero no
veo donde se crea o de donde viene. Gracias por su ayuda:



Se trata de una EXPRESION DE CONSULTA (query expression).

"word" es un identificador que representa a cada uno de las cadenas de
WordArray (que por su nombre parece ser un array).

Esa sentencia:
- recorre todas esas cadenas
- filtra las que estén vacías o no empiecen con una letra
- hace grupos con las palabras que se repiten
- produce una secuencia de elementos que tienen cada una de las palabras
y la cantidad de veces que se repite, ordenada descendientemente por esa
cantidad de veces.

Slds - Octavio









Respuesta Responder a este mensaje
#9 Juan Diego Bueno
07/09/2007 - 08:55 | Informe spam
Yo sinceramente, no veo tanto problema en hacer el select al revés, vamos,
es tan sencillo como convertir una oración de activa a pasiva (yo diría que
más sencillo aún, porque no tienes que cambiar nada, sino sólo invertir). Si
fuera SELECT... FROM, no sería C# 3.0, sería SQL y si yo como programador
tengo problemas para convertir select... from en from... select, casi que
apaga y vámonos.

Lo importante es ver que tal nos sienta LINQ a la hora de desarrollar (a mi
ahora sin haberlo probado, me parece que tiene muy buen aspecto), y si no
nos satisface, pues a seguir como hasta ahora y esperar tiempos mejores.

Saludos

"principiante" escribió en el mensaje
news:
Bueno, en T-Sql nunca hemos tenido intellisense... pero bueno... que se le
va a hacer..

Saludos

Jose TH

"Octavio Hernandez" escribió en el mensaje
news:%

Como bien dice Marcos, la razón de la inversión es para que funcione la
ayuda Intellisense.

Si escibieras

SELECT f.

VS no podría darte ayuda en línea, porque no sabria aún de qué tipo es f.

Slds - Octavio



"principiante" wrote in message
news:
Como curiosidad yo no entiendo por que los que inventaron LinQ
invirtieron el From y el Select y no los dejaron con el criterio de SQL
(en el cual se basan supongo). La cosa es no poner nada igual a lo que
conocemos para que no sea tan facil de aprender? ;-)
Si la razon es por el compilador o algo asi, por que el T-SQL no es
igual entonces?

Jose TH

"Octavio Hernandez" escribió en el
mensaje news:

Quien rayos es " word " es decir en todo el codigo no veo una
referencia
anterior a el es decir, donde se crea es una clase un objeto una
variable, pareciere un objeto ya que tiene la propiedad lenght, pero
no veo donde se crea o de donde viene. Gracias por su ayuda:



Se trata de una EXPRESION DE CONSULTA (query expression).

"word" es un identificador que representa a cada uno de las cadenas de
WordArray (que por su nombre parece ser un array).

Esa sentencia:
- recorre todas esas cadenas
- filtra las que estén vacías o no empiecen con una letra
- hace grupos con las palabras que se repiten
- produce una secuencia de elementos que tienen cada una de las
palabras y la cantidad de veces que se repite, ordenada
descendientemente por esa cantidad de veces.

Slds - Octavio













Respuesta Responder a este mensaje
#10 Alfredo Crisostomo
07/09/2007 - 13:27 | Informe spam
Por mi parte yo entiendo lo que dices pero interpretando a principiante creo
que si lo iban a poner al reves, no debieron usar palabras tan conocidas
como Select..From.. Que necesidad habia de eso? Select.. From... lo
llevamos en el subconsciente desde hace decadas.. Ya me imagino yo enviando
frecuentemente una consulta al SQL Server o diseñando un store procedure
poniendolo todo al reves por error.:)


Alfredo


"Juan Diego Bueno" escribió en el mensaje
news:
Yo sinceramente, no veo tanto problema en hacer el select al revés, vamos,
es tan sencillo como convertir una oración de activa a pasiva (yo diría
que más sencillo aún, porque no tienes que cambiar nada, sino sólo
invertir). Si fuera SELECT... FROM, no sería C# 3.0, sería SQL y si yo
como programador tengo problemas para convertir select... from en from...
select, casi que apaga y vámonos.

Lo importante es ver que tal nos sienta LINQ a la hora de desarrollar (a
mi ahora sin haberlo probado, me parece que tiene muy buen aspecto), y si
no nos satisface, pues a seguir como hasta ahora y esperar tiempos
mejores.

Saludos

"principiante" escribió en el mensaje
news:
Bueno, en T-Sql nunca hemos tenido intellisense... pero bueno... que se
le va a hacer..

Saludos

Jose TH

"Octavio Hernandez" escribió en el
mensaje news:%

Como bien dice Marcos, la razón de la inversión es para que funcione la
ayuda Intellisense.

Si escibieras

SELECT f.

VS no podría darte ayuda en línea, porque no sabria aún de qué tipo es
f.

Slds - Octavio



"principiante" wrote in message
news:
Como curiosidad yo no entiendo por que los que inventaron LinQ
invirtieron el From y el Select y no los dejaron con el criterio de SQL
(en el cual se basan supongo). La cosa es no poner nada igual a lo
que conocemos para que no sea tan facil de aprender? ;-)
Si la razon es por el compilador o algo asi, por que el T-SQL no es
igual entonces?

Jose TH

"Octavio Hernandez" escribió en el
mensaje news:

Quien rayos es " word " es decir en todo el codigo no veo una
referencia
anterior a el es decir, donde se crea es una clase un objeto una
variable, pareciere un objeto ya que tiene la propiedad lenght, pero
no veo donde se crea o de donde viene. Gracias por su ayuda:



Se trata de una EXPRESION DE CONSULTA (query expression).

"word" es un identificador que representa a cada uno de las cadenas de
WordArray (que por su nombre parece ser un array).

Esa sentencia:
- recorre todas esas cadenas
- filtra las que estén vacías o no empiecen con una letra
- hace grupos con las palabras que se repiten
- produce una secuencia de elementos que tienen cada una de las
palabras y la cantidad de veces que se repite, ordenada
descendientemente por esa cantidad de veces.

Slds - Octavio

















Respuesta Responder a este mensaje
Ads by Google
Help Hacer una preguntaSiguiente AnteriorRespuesta Tengo una respuesta
Search Busqueda sugerida