为什么我会收到错误消息 "operator cannot be applied to operands of type string and int"?
Why am I getting the error message "operator cannot be applied to operands of type string and int"?
我想做一个分页系统,所以我做了一个通用的 class,我想在其中检索 url 的页面和大小参数的值,但是它不起作用,我收到此消息:
operator cannot be applied to operands of type string and int
这是代码:
// http://localhost:6289/api/Customer?page=3&size=3
public static IQueryable<T> Paginate<T>(this IQueryable<T> source)
{
var queryParams = HttpContext.Current.Request.QueryString;
string page = queryParams.Get("page");
var size = queryParams.Get("size");
return source.Skip((page - 1) * size).Take(size);
}
您需要将字符串 page 和 size 转换为 int。试一试:
string page = queryParams.Get("page");
int p = int.Parse(page);
int s = int.Parse(size);
return source.Skip((p- 1) * s).Take(s);
您需要将获取参数从字符串转换为整数。
试试这个:
int page, size;
if (Int32.TryParse(queryParams.Get("page"),out page) &&
Int32.TryParse(queryParams.Get("size"),out size)) {
return source.Skip((page - 1) * size).Take(size);
}
else {
// return 404 of some such in case of non-integer input
}
我想做一个分页系统,所以我做了一个通用的 class,我想在其中检索 url 的页面和大小参数的值,但是它不起作用,我收到此消息:
operator cannot be applied to operands of type string and int
这是代码:
// http://localhost:6289/api/Customer?page=3&size=3
public static IQueryable<T> Paginate<T>(this IQueryable<T> source)
{
var queryParams = HttpContext.Current.Request.QueryString;
string page = queryParams.Get("page");
var size = queryParams.Get("size");
return source.Skip((page - 1) * size).Take(size);
}
您需要将字符串 page 和 size 转换为 int。试一试:
string page = queryParams.Get("page");
int p = int.Parse(page);
int s = int.Parse(size);
return source.Skip((p- 1) * s).Take(s);
您需要将获取参数从字符串转换为整数。
试试这个:
int page, size;
if (Int32.TryParse(queryParams.Get("page"),out page) &&
Int32.TryParse(queryParams.Get("size"),out size)) {
return source.Skip((page - 1) * size).Take(size);
}
else {
// return 404 of some such in case of non-integer input
}