C#中Enumerable.Range(Int32, Int32) 方法用于计算

本文详细介绍了.NETFramework中的Enumerable.Range(Int32,Int32)方法,通过实例展示了如何使用该方法生成整数序列,以及与for循环的比较,重点在于LINQ操作在数学计算中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

目录

一、关于Enumerable.Range(Int32, Int32) 方法

1.定义

2.Enumerable.Range()用于数学计算的操作方法

3.实例1:显示整型数1~9的平方

4.实例2:显示整型数0~9

5.实例3:Enumerable.Range()vs for循环 

(1)使用Enumerable.Range()

(2)使用for循环

(3)再用Enumerable.Range()

(4)再用Enumerable.Range()


一、关于Enumerable.Range(Int32, Int32) 方法

1.定义

        命名空间:
        System.Linq
        程序集:
        System.Linq.dll
        在指定的范围内产生一系列整型数。

public static IEnumerable<int> Range (int start, int count);

参数
start    Int32
序列整型数的起始位置

count    Int32
序列中要产生的整型数的数量

返回值
IEnumerable<Int32>
指定范围内的一系列整型数

Exceptions
ArgumentOutOfRangeException
count >= 0
-or-
(start+count-1) >= Int32.MaxValue.

2.Enumerable.Range()用于数学计算的操作方法

        先定义一个临时变量用于装载数据集,比如IEnumerable<int> squares,再从索引位置1开始枚举产生10个整型数,并定义临时变量x通过select方法指向所产生的整型数,计算x*x,Enumerable.Range(1, 10).Select(x => x * x)。

IEnumerable<int> squares = Enumerable.Range(1, 10).Select(x => x * x);

3.实例1:显示整型数1~9的平方

// 从1开始产生10个序列整型数并计算其平方;
// 遍历输出
namespace ConsoleApp11
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);      
            IEnumerable<int> squares = Enumerable.Range(1, 10).Select(x => x * x);
            foreach (int num in squares)
            {
                Console.WriteLine(num);
            }
        }
    }
}
/*
运行结果:
1
4
9
16
25
36
49
64
81
100

*/

4.实例2:显示整型数0~9

//使用Enumerable.Range 打印数字0到9
namespace ConsoleApp12
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);
            var collection = Enumerable.Range(0, 10);
            foreach (var element in collection)
            {
                Console.WriteLine(element);
            }
            Console.ReadLine();
        }
    }
}
//运行结果:
/*
0
1
2
3
4
5
6
7
8
9

 */

5.实例3:Enumerable.Range()vs for循环 

(1)使用Enumerable.Range()

// Write the numbers 1 thru 7
namespace ConsoleApp13
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);
            foreach (int index in Enumerable.Range(1, 7))
            {
                Console.WriteLine(index);
            }
        }
    }
}
//运行结果:
/*
1
2
3
4
5
6
7

 */

(2)使用for循环

// Write the numbers 1 thru 7
namespace ConsoleApp14
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);  
            for (int index = 1; index <= 7; index++)
            {
                Console.WriteLine(index);
            }
        }
    }
}
//运行结果:
/*
1
2
3
4
5
6
7

 */

(3)再用Enumerable.Range()

//从索引2开始的7个数
namespace ConsoleApp15
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            ArgumentNullException.ThrowIfNull(args);

            foreach (var index in Enumerable.Range(2, 7))
            {
                Console.WriteLine(index);
            }
        }
    }
}
//运行结果:
/*
2
3
4
5
6
7
8

 */

(4)再用Enumerable.Range()

//Enumerable.Range()
namespace ConsoleApp16
{
    class Program
    {
        private static void Main()
        {
            Enumerable.Range(1, 7).ToList().ForEach(i => Console.WriteLine(2*i+1));
        }              
    }
}
//运行结果:
/*
3
5
7
9
11
13
15

 */

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

wenchm

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值