estoy usando LINQ
para seleccionar un nuevo objeto en un twoWords
List
de estos objetos, y establecer los valores llamando a una función/método.LINQ seleccionar al nuevo objeto, el establecimiento de los valores de objeto en función de
Por favor, vea si esto tiene sentido, lo he simplificado mucho. Realmente quiero usar las sentencias linq from
select
.
La primera función en GOGO
va a funcionar, la segunda falla (no realizan la misma tarea, aunque)
// simple class containing two strings, and a function to set the values
public class twoWords
{
public string word1 { get; set; }
public string word2 { get; set; }
public void setvalues(string words)
{
word1 = words.Substring(0,4);
word2 = words.Substring(5,4);
}
}
public class GOGO
{
public void ofCourseThisWillWorks()
{
//this is just to show that the setvalues function is working
twoWords twoWords = new twoWords();
twoWords.setvalues("word1 word2");
//tada. object twoWords is populated
}
public void thisdoesntwork()
{
//set up the test data to work with
List<string> stringlist = new List<string>();
stringlist.Add("word1 word2");
stringlist.Add("word3 word4");
//end setting up
//we want a list of class twoWords, contain two strings :
//word1 and word2. but i do not know how to call the setvalues function.
List<twoWords> twoWords = (from words in stringlist
select new twoWords().setvalues(words)).ToList();
}
}
La segunda función de GOGO
causará un error:
El tipo de la expresión en la cláusula de selección es incorrecta. La inferencia de tipo falló en la llamada a 'Seleccionar'.
Mi pregunta es, ¿cómo puedo seleccionar el nuevo objeto en el twoWords
from
cláusula anterior, mientras que el establecimiento de los valores utilizando la función setvalues
?
Como nota aparte, * realmente * ayuda a la legibilidad si sigue las convenciones de nomenclatura de .NET incluso para código de ejemplo simple . –