После прочтения около 40-50 вопросов и ответов (я пробовал много вещей), что, когда все немного от ответа, я все еще не могу понять, как это не работает:Почему Equals не работает должным образом
IEnumerable<string> textSegs = from cd in cds
where cd.Artist.Equals("Dream Theater")
select cd.Artist;
foreach(string s in textSegs)
Console.Write("\nTrack: " + s);
//This outputs: 'Track: Dream Theater'
Теперь, как и для другой части:
IEnumerable<string> textSegs = from seg in myXMLDoc.Descendants("name")
where ((string)seg).Equals("Dream Theater")
select (string)seg;
//This puts: exactly what I need
Тогда я полагал, что это будет сделать магический трюк:
IEnumerable<string> textSegs = from seg in myXMLDoc.Descendants("name")
where ((string)seg).Equals(from cd in cds
where cd.Artist.Equals("Dream Theater")
select cd.Artist)
select (string)seg;
//This outputs: Everything that is inside the XMLDoc (no filter applied)
Что касается формата, в котором находится этот код. Я боюсь, что он должен быть таким (присвоением). Я попробовал направить запрос на строку, но он говорит мне:
Cannot convert type 'IEnumerable<string>' to 'string'
Любая помощь приветствуется!
'from ... select' - это _set_ строк. Вы не можете проверить, равна ли это одной строке. – SLaks