如何查找,並在下面這種特定情況下替換使用LINQ屬性替換集合項目:使用LINQ
public interface IPropertyBag { }
public class PropertyBag : IPropertyBag
{
public Property[] Properties { get; set; }
public Property this[string name]
{
get { return Properties.Where((e) => e.Name == name).Single(); }
//TODO: Just copying values... Find out how to find the index and replace the value
set { Properties.Where((e) => e.Name == name).Single().Value = value.Value; }
}
}
感謝提前幫忙。
你使用了什麼PropertyBag?我不認爲在.Net BCL中有一個。我問,因爲'屬性'getter可能是做克隆的人,所以你不能做你想做的事情。 – 2009-04-14 23:49:51
Jonathan,這是我自己定製的PropertyB ag類..上面的代碼工作,因爲我沒有替換Property []數組中的整個項目。代碼中的註釋說明: // TODO:只是複製值...瞭解如何找到索引並替換值 – 2009-04-14 23:55:37
只是想知道爲什麼你沒有使用我的LINQ-free IndexOf()解決方案...現在我知道!我將實例的答案更正爲靜態方法。 – 2009-04-16 11:54:11