Подтвердить что ты не робот

Невозможно присвоить группе методов неявно типизированную локальную переменную

У меня есть эта ошибка

"Невозможно присвоить группе методов неявно типизированную локальную переменную

в этом коде

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);
}
4b9b3361

Ответ 1

Вы забыли вызвать функцию (с помощью ())

Ответ 2

Вы должны добавить скобки для вызова метода 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);