Ответ 1
Вы забыли вызвать функцию (с помощью ()
)
У меня есть эта ошибка
"Невозможно присвоить группе методов неявно типизированную локальную переменную
в этом коде
private async void Button_Click_2(object sender, RoutedEventArgs e)
{
var frenchvoice = InstalledVoices.All.Where(voice => voice.Language.Equals("fr-FR") & voice.Gender == VoiceGender.Female).FirstOrDefault; // in this line
sp.SetVoice(frenchvoice);
await sp.SpeakTextAsync(mytxt);
}
Вы забыли вызвать функцию (с помощью ()
)
Вы должны добавить скобки для вызова метода FirstOrDefault
var frenchvoice = InstalledVoices.All
.Where(voice => voice.Language.Equals("fr-FR") &&
voice.Gender == VoiceGender.Female)
.FirstOrDefault();
И, хотя ваш код работает также с помощью оператора and, правильный для использования в логическом состоянии - &&
Кстати, FirstOrDefault
принимает ту же самую lambda, которая применяется для Where, поэтому вы можете уменьшить свой код до более простого и, вероятно, быстрее
var frenchvoice = InstalledVoices.All
.FirstOrDefault(voice => voice.Language.Equals("fr-FR") &&
voice.Gender == VoiceGender.Female);