オブジェクトのリストが 2 つあります。1 つは値を持ち、もう 1 つは名前と値を持ちます。他のリストの値を調べて、その結果を pref.Name に書き込みたいと思います。foreach でこれを実行できることはわかっていますが、LINQ で実行する良い方法があると思います。アイデア?
public class Preference
{
public string Category { get; set; }
public string Name { get; set; }
public string ItemValue { get; set; }
public int SortOrder { get; set; }
}
public class SAPReadOnlyItem
{
public string Category { get; set; }
public string Name { get; set; }
public string ItemValue { get; set; }
}
List<Preference> preferences = getExistingUserPreferences(UserID, ddlCategory.SelectedValue); //this list is just keys
List<SAPReadOnlyItem> sapReadOnlyItems = getSAPReadOnlyItems(ddlCategory.SelectedValue); //this list is names and keys
//i want to look up the name from sapReadOnly using the ID from preferences and write it into preferences[n].Name
//this works, but I want to write it into preferences[n].Name
var foobar = (from sap in sapReadOnlyItems
join pref in preferences
on sap.ItemValue equals pref.ItemValue
select new { asdf = sap.Name }).FirstOrDefault(); //instead of "select new" I want to write it into preferences[n].Name