誰でも私に以下のコードをlinqに変換する方法を教えてもらえますか?契約名を使用してweb.configファイルからエンドポイントアドレスを取得しようとしています。foreachをlinqに変換する
ループごとに以下のようにlinqに変換する必要があります。 FirstOrDefault
string csEndPoint = clientSection.Endpoints.Cast<ChannelEndpointElement>().FirstOrDefault(e => e.Contract == "CsWebService.ICsWebService")?.Address.ToString();
と
string csEndPoint =null;
ClientSection clientSettings = ConfigurationManager.GetSection("system.serviceModel/client") as ClientSection;
foreach (ChannelEndpointElement endpoint in clientSettings.Endpoints) {
if (endpoint.Contract == "CsWebService.ICsWebService") {
ccEndPoint = endpoint.Address.ToString();
break;
}
}
を試してみてください。どこで失敗しましたか? –
私はこれを試しました 文字列csEndPoint = clientSettings.Endpoints.FirstOrDefault(e => e.Contract == "CsWebService.ICsWebService")?Address.ToString(); FirstErDefaultにエラーが表示されていますChannelEndpointElement doenotに最初またはデフォルトの定義が含まれています – poorna
次回質問をしたときに、試したことを示し、エラーや失敗の情報を含めてください。 'clientSettings.Endpoints'は' IEnumerable 'ではなく' IEnumerable'だけを実装していると推測するのは不可能でした。 –