如何解决有没有办法使Int变量等于==数组中存储的所有数字?
好的,我是编码的新手,我刚刚在这里注册一个帐户以获得帮助。 我的工作是编码一个应用程序,该应用程序将在控制台中打印0-100之间的数字。但不是“ 32、44和77”。 我知道我可以做很多If语句,但是我的问题是我是否可以将三个数字存储在Array中,然后说:
int numZero = 0;
int[] num = { 32,44,77 };
while (numZero <= 100)
{
Console.WriteLine(numZero);
numZero++;
// I know the num needs to have a value assigned. But can I make the "numZero" go through the three numbers in num?
if (numZero == num [])
{
numZero++;
}
非常感谢您的建议!
解决方法
您可以使用从0到100的for循环,并在循环中测试数组中的索引Exists()
是否不打印,否则不打印。
您还可以使用Linq扩展方法Contains()
代替Array.Exists()
。
这样做,您将拥有3行代码:
- 用于
- 如果!包含
- 打印(如果包含,则不执行任何操作)。
因此您可以尝试以下操作:
using System.Linq;
int[] num = { 32,44,77 };
for ( int index = 0; index <= 100; index++ )
if ( !num.Contains(index) )
Console.WriteLine(index);
您也可以写:
foreach ( int index in Enumerable.Range(0,101) )
if ( !num.Contains(index) )
Console.WriteLine(index);
使用Enumerable.Range
避免了操纵索引和增量,因此代码更简洁,更安全。
注意:如果未包含100,请将<=
更改为<
,或使用Range(0,100)
。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。