Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用于创建独立对象序列的Linq方法?_C#_Linq - Fatal编程技术网

C# 用于创建独立对象序列的Linq方法?

C# 用于创建独立对象序列的Linq方法?,c#,linq,C#,Linq,我必须在这里重新发明轮子-但我已经搜索过了,我找不到完全相同的东西 以下是我的代码,用于创建具有默认构造函数的零个或多个对象序列: public static IEnumerable<T> CreateSequence<T>(int n) where T: new() { for (int i = 0; i < n; ++i) { yield return new T(); } } 公共静态IEnumerable Creat

我必须在这里重新发明轮子-但我已经搜索过了,我找不到完全相同的东西

以下是我的代码,用于创建具有默认构造函数的零个或多个对象序列:

public static IEnumerable<T> CreateSequence<T>(int n) where T: new()
{
    for (int i = 0; i < n; ++i)
    {
        yield return new T();
    }
}
公共静态IEnumerable CreateSequence(int n),其中T:new()
{
对于(int i=0;i
我的问题很简单:我应该使用Linq等效物吗?

试试这个:

Enumerable.Range(1,count).Select(_ => new T());

Enumerable.Range
将指定范围中的当前数字作为参数提供给您,但您可以忽略它(在示例中命名为

是:
var items=Enumerable.Repeat(new YourClass(),10)

这会将同一个项目返回10次,而不是10个不同的项目。首先也会想到这一点,但这会创建一个新项目,并一直使用该项目,他需要单独的对象。非常感谢。我对此进行了计时,并且(在发布版本中)这比我的手动方法要快得多。