Do While Loop不工作

时间:2013-12-06 10:36:16

标签: c# do-while

我在下面创建了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条记录,但退出循环而不是转到第二页。你们中的任何人都可以帮我解决这个问题吗?

1 个答案:

答案 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。