gpt4 book ai didi

c# - 简单序列生成?

转载 作者:太空狗 更新时间:2023-10-29 23:56:21 26 4
gpt4 key购买 nike

我正在寻找一种生成数字列表(1-200)的超简单方法。(可以是List,Array,Enumerable……我不太关心具体的类型)

显然 .Net 4.0 有一个 Sequence.Range(min,max)方法。但我目前使用的是 .Net 3.5。

这是我所追求的示例用法,用 Sequence.Range 显示。

public void ShowOutput(Sequence.Range(1,200));

目前,我需要 1-200 的连续数字。在未来的迭代中,我可能需要任意数字列表,因此我试图保持设计的灵 active 。

也许有一个好的 LINQ 解决方案?还有其他想法吗?

最佳答案

.NET 3,5 有 Range也。实际上是 Enumerable.Range 并返回 IEnumerable<int> .

您链接到的页面已经过时了——它说 3 是“ future 版本”,Enumerable静态类被称为 Sequence在发布前的某一时刻。

如果您想在 C# 2 或更高版本中自己实现它,这很容易 - 这是一个:

IEnumerable<int> Range(int count)
{
for (int n = 0; n < count; n++)
yield return n;
}

您可以轻松编写进一步过滤列表的其他方法:

IEnumerable<int> Double(IEnumerable<int> source)
{
foreach (int n in source)
yield return n * 2;
}

但是因为你有 3.5,你可以使用 System.Linq.Enumerable 中的扩展方法这样做:

var evens = Enumerable.Range(0, someLimit).Select(n => n * 2);

关于c# - 简单序列生成?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1196840/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com