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