试图确定我的整数列表是由奇数还是偶数组成,我想要的输出是真和/或假的列表.我可以在列表lst上执行以下操作,还是需要创建循环?A是输出.
List <int> lst = new List <int>();
A = IsOdd(lst);
Run Code Online (Sandbox Code Playgroud)
TGH*_*TGH 47
只需使用模数
遍历列表并在每个项目上运行以下内容
if(num % 2 == 0)
{
//is even
}
else
{
//is odd
}
Run Code Online (Sandbox Code Playgroud)
或者,如果你想知道是否所有都是偶数你可以做这样的事情:
bool allAreEven = lst.All(x => x % 2 == 0);
Run Code Online (Sandbox Code Playgroud)
Mic*_*x2a 44
您可以尝试使用Linq来投影列表:
var output = lst.Select(x => x % 2 == 0).ToList();
Run Code Online (Sandbox Code Playgroud)
这将返回一个新的bool列表,以便{1, 2, 3, 4, 5}映射到{false, true, false, true, false}.
Fre*_* 24 17
至少有7种不同的方法来测试数字是奇数还是偶数.但是,如果你仔细阅读这些基准测试,你会发现,如上所述的TGH,模数运算是最快的:
if (x % 2 == 0)
//even number
else
//odd number
Run Code Online (Sandbox Code Playgroud)
以下是一些其他方法(来自网站):
//bitwise operation
if ((x & 1) == 0)
//even number
else
//odd number
//bit shifting
if (((x >> 1) << 1) == x)
//even number
else
//odd number
//using native library
System.Math.DivRem((long)x, (long)2, out outvalue);
if ( outvalue == 0)
//even number
else
//odd number
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
97055 次 |
| 最近记录: |