LINQ は初めてで、linq を記述して list <usertypeclass>
との間の値を取得したいlist <string>
私はクラスを持っています
public class Hashtable
{
public string Id
{
get;
set;
}
public string MediaType
{
get;
set;
}
public string Href
{
get;
set;
}
}
次に、このクラスを使用してリストに値を追加します
var list = new List<Hashtable>
{
new Hashtable { Id = "x001.xhtml", MediaType = "application/xhtm+xml", Href = "text/001.xhtml" },
new Hashtable { Id = "x002.xhtml", MediaType = "application/xhtm+xml", Href = "text/002.xhtml" },
new Hashtable { Id = "x003.xhtml", MediaType = "application/xhtm+xml", Href = "text/003.xhtml" }
};
次のような値を含む別のリストがあります。
List<string> lstrhtml = new List<string>();
lstrhtml.Add("contents.xhtml");
lstrhtml.Add("x003.xhtml");
lstrhtml.Add("x002.xhtml");
lstrhtml.Add("x001.xhtml");
今、私は両方のリストをid値と一致させるためにlinqを正しくする必要があります。たとえば、x003.xhtmlとextract href値の場合、
var val=list.Where(o=>lstrhtml.Contains(o["Id"].ToString()))
.Select(o=>o["Href"]).ToList();
しかし、それは私にエラーを与えます....返信して、どこが間違っているのか教えてください
前もって感謝します