前提・実現したいこと
StringBuilderで合成しているものをLINQで1回で書きたいです。
発生している問題・エラーメッセージ
デリゲート戻り値の型に暗黙的に変換できない戻り値の型がブロック内にあるため、ラムダ式を目的のデリゲート型に変換できません。
該当のソースコード
C#
1List<SelectListItem> items; 2string[] itemnumbers=new string[]{"01", "02", "03"}; 3stringBuilder = new StringBuilder(); 4foreach (var itemnumber in itemnumbers) 5{ 6 var itemtext = items.Where(item => item.Value == itemnumber) 7 .Select(item => item.Text).FirstOrDefault(); 8 stringBuilder.Append(itemtext).Append(", "); 9} 10return stringBuilder.ToString();
試したこと
C#
1List<SelectListItem> items; 2string[] itemnumbers=new string[]{"01", "02", "03"}; 3 4return string.Join(", ", itemnumbers 5.Where(number => items.Where(item => item.Value == number).Select(item => item.Text).FirstOrDefault())); 6
補足情報(FW/ツールのバージョンなど)
Visual Studio 2017 Pro
.NET4.6.2
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/17 06:28