我在下面创建了while循环:
ConnectionServerRest connectionServer = ConnectCiscoUnityServer(IP, login, password);
WebCallResult res;
List<UserBase> oUsers;
int page = 10;
int recordsPerPage = 20;
do
{
Console.WriteLine("Page:" + page);
// get first <recordsPerPAge> Users from <page> Page
res = UserBase.GetUsers(connectionServer, out oUsers, page, recordsPerPage);
Console.WriteLine("Users returned: " + oUsers.Count);
page++;
} while (oUsers.Count == 0);
我正在使用pagging来检索每页20个用户。我想在oUsers.Count == 0时退出循环。当我把int page = 10时,循环是无穷大的,因为第10页没有结果。如果我把int page = 1它返回20条记录,但退出循环而不是转到第二页。你们中的任何人都可以帮我解决这个问题吗?
答案 0 :(得分:2)
Do ... while
执行至少一次,并且条件为真。
do
{
Console.WriteLine("Page:" + page);
// get first <recordsPerPAge> Users from <page> Page
res = UserBase.GetUsers(connectionServer, out oUsers, page, recordsPerPage);
Console.WriteLine("Users returned: " + oUsers.Count);
page++;
} while (oUsers.Count != 0); //not equal
在您的示例中,它运行一次并看到“仍然运行”的条件为false,因为oUsers.Count == 0
返回false。