所以我有一些以do while循环为中心的代码.
string token;
var count = 0;
var checkDataLength= data.Length == 16;
do
{
count = 0;
token = GenerateToken(data, start, end);
if (checkDataLength)
{
if (Mod120Check(token))
{
count += 1;
}
}
if (IsCompliant(token))
{
count += 1;
}
}
while (count > 0);
return token;
Run Code Online (Sandbox Code Playgroud)
基本上,我正在生成一个令牌,并且为了使此令牌有效,必须将Mod120Check和IsCompliant检查失败.我无法改变这些方法返回数据的方式.
虽然上面的代码有效,但我觉得它很难看,我想知道是否有人有更好的方法吗?
谢谢
Nat*_*gge 16
试试这个:
do
{
token = GenerateToken(data, start, end);
}
while (checkDataLength && Mod120Check(token) || IsCompliant(token))
Run Code Online (Sandbox Code Playgroud)
只是将你的条件转移到while.
(!)请注意,IsCompliant(token)只有checkDataLength && Mod120Check(token)状态才会调用false.它不应该导致任何附带影响,但它可以,取决于您的IsCompliant方法做什么.
| 归档时间: |
|
| 查看次数: |
176 次 |
| 最近记录: |