Este es un pequeño proyecto del lado scrabble con el que estaba retocando y quería obtener información sobre lo que podría estar haciendo mal. Tengo un "diccionario" de letras y sus respectivos puntajes y una lista de palabras. Mi idea era encontrar las letras que estaban en cada palabra y sumar los puntajes.LINQ 'join' espera un igual pero me gustaría usar 'contains'
// Create a letter score lookup
var letterScores = new List<LetterScore>
{
new LetterScore {Letter = "A", Score = 1},
// ...
new LetterScore {Letter = "Z", Score = 10}
};
// Open word file, separate comma-delimited string of words into a string list
var words = File.OpenText("c:\\dictionary.txt").ReadToEnd().Split(',').ToList();
// I was hoping to write an expression what would find all letters in the word (double-letters too)
// and sum the score for each letter to get the word score. This is where it falls apart.
var results = from w in words
join l in letterScores on // expects an 'equals'
// join l in letterScores on l.Any(w => w.Contains(
select new
{
w,
l.Score
};
Cualquier ayuda sería muy apreciada. Gracias.
Thanks! Eso fue todo. Sin embargo, en los dos últimos bloques de código parece que quisiste usar * scoreDictionary * en lugar de * letterScores *. –
@Andy: Gracias, reparado :) –