gpt4 book ai didi

c# - 从 0x0000 循环到 0xFFFF

转载 作者:太空狗 更新时间:2023-10-29 20:44:55 26 4
gpt4 key购买 nike

我想要一个使用 UInt16 (ushort) 遍历其所有值的循环。然而,这并没有做到:

for( ushort i = 0; i < UInt16.MaxValue; i++ )
{
// do something
}

问题是当 i == 0xFFFF 而不是“做某事”时,循环将退出。如果我将“for”语句更改为“for(ushort i = 0; i <= UInt16.MaxValue; i++ )”,那么它将变成一个无限循环,因为我永远不会到达 0x10000,因为 ushorts 只会到达 0xFFFF。

我可以将“i”设为一个 int 并将其强制转换或将其分配给循环中的一个 ushort 变量。

有什么建议吗?

最佳答案

使用do...while 循环

ushort i = 0;
do
{
// do something
} while(i++ < UInt16.MaxValue);

关于在顶部和底部测试循环有一个有趣的讨论 here .

关于c# - 从 0x0000 循环到 0xFFFF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/231098/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com