首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >C#加载整数并显示奇/偶数

问C#加载整数并显示奇/偶数
EN

Stack Overflow用户
提问于 2010-03-03 04:50:32
回答 7查看 28.1K关注 0票数 7

您好,想知道有没有更简单的方法来显示奇数/偶数。我知道我可以做一个for循环并加载一个列表。然后,我可以编写另一个for循环来遍历列表并检查值是否为奇数/偶数:

代码语言:javascript
复制
for(i=0; i<100; i++)
 if(myList[i]%2==0) //even
    //do something
 else
    //odd do something

但是有没有办法缩短它,这样我就可以很容易地得到一个奇数或偶数的列表。不是家庭作业只是好奇。

EN

回答 7

Stack Overflow用户

回答已采纳

发布于 2010-03-03 04:53:06

你可以使用一些lambdas:

代码语言:javascript
复制
//load a list, t, with 100 integers
List<int> t = Enumerable.Range(1, 100).ToList();

//find odd numbers
var oddNumbers = t.Where(num => num%2 != 0);

//find even numbers
var evenNumbers = t.Where(num => num%2 == 0);

//print odd numbers
foreach (int i in oddNumbers)
    Console.WriteLine(i);

//print even numbers
    foreach(int i in evenNumbers)
        Console.WriteLine(i);

Enumerable只是加载1-100的列表,然后我简单地抓取所有的奇数/偶数,然后打印它们。这一切都可以缩短为:

代码语言:javascript
复制
var e = Enumerable.Range(1, 100).Where(num => num%2==0); //for even numbers
var o = Enumerable.Range(1, 100).Where(num => num%2!=0); //for odd numbers

e,o有一个隐式类型var。编译器可以确定它的类型,因此这两行代码等同于:

代码语言:javascript
复制
List<int> eo = Enumerable.Range(1, 100).ToList(); //must tell it its a list

然后直接找出列表类型的赔率/平数:

代码语言:javascript
复制
List<int> o = eo.Where(num => num%2!=0).ToList();
List<int> e = eo.Where(num => num%2==0).ToList();

在我的初始代码中列出了打印它的方法。

票数 11
EN

Stack Overflow用户

发布于 2010-03-03 04:53:30

LINQ方式...1到100之间的奇数和偶数。

代码语言:javascript
复制
var even = Enumerable.Range(1,100).Where(i => i % 2 == 0);
var odd = Enumerable.Range(1,100).Where(i => i % 2 != 0);
票数 15
EN

Stack Overflow用户

发布于 2010-03-03 04:53:47

您可以使用LINQ仅提取奇数或偶数,然后处理:

代码语言:javascript
复制
var even = myList.Where(i => i%2==0);
foreach(var number in even)
     // do something
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2366634

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档