public static Record FindOrCreate(this IEnumerable<Record> ienumerable, string name)
{
if (ienumerable.Where(element => element.Name == name).FirstOrDefault() != null)
return ienumerable.Where(element => element.Name == name).FirstOrDefault();
else
{
IEnumerable<Record> result = ienumerable.Concat(new[] {new Record(name, "")});
ienumerable = result;
return ienumerable.Where(element => element.Name == name).FirstOrDefault();
}
}
我知道沒有添加方法IEnumerable,但我想留在IEnumerable而不是ICollection,在極少數情況下,我必須添加一些東西。如果它沒有找到元素,我的方法返回null。IEnumerable - 我的擴展方法
Code EDITED! 因此,現在結果具有我想要的所有元素,但方法仍然返回空對象。我不知道是否可以在擴展方法中切換對象? (就像我做ienumerable =結果)?
是的,我知道這一切的東西,但我真的不在乎欺騙在這一個:) – TrN 2011-05-05 12:22:08