【发布时间】:2015-04-21 07:04:57
【问题描述】:
你怎么了黑帮?
我有以下代码似乎总是返回null。
public static T GetNext<T>(this IQueryable<T> list, T current)
{
try
{
return list.SkipWhile(x => !x.Equals(current)).Skip(1).First();
}
catch
{
return default(T);
}
}
public static T GetPrevious<T>(this IQueryable<T> list, T current)
{
try
{
return list.TakeWhile(x => !x.Equals(current)).Last();
}
catch
{
return default(T);
}
}
给定来自数据源的 Queryable 和其中的记录,我只想获取下一个和上一个值。
【问题讨论】:
-
你试过
!=吗?我认为它可能是在做一个参考平等.. -
您可以为 T 类添加索引并通过索引获取下一个和上一个对象。你可以检查这个stackoverflow.com/questions/1869304/…
-
这适用于整数数组...
-
你检查过为什么返回
null吗?您的代码表明只有在引发异常时才返回null。可以贴一下错误信息吗? -
是的,结果 linq to sql 不支持
skipwhile。