C#の述語に問題があります。私は2セットのコードを持っています(どちらも同じ結果を達成するはずです)が、1つは機能しません。私が尋ねている理由は、この述語が異なる要素で数回表示される必要があるため、可能な限り最小限に抑えたいと考えています(機能しない述語は非常に単純ですが、他の述語には多くの行が含まれています)。
1機能しない:
ItemViewModel item = (App.ViewModel.All_Items.Where(x => (x as ItemViewModel).Name == my_list_of_strings.ElementAt(2)) as ItemViewModel);
また、Whereが機能していない代わりに「Select」を使用します。
2作業中:
foreach (ItemViewModel it in App.ViewModel.All_Items)
{
if (item.Name == my_list_of_strings.ElementAt(2))
{
MessageBox.Show("Success!!");
item = it;
continue; // Leave loop
}
}
それはおそらく私が見落としていた愚かなことですが、誰かが解決策を知っているなら、それは素晴らしいことです!
ありがとう。