将未分配的局部变量“枚举”与两个参数一起使用

时间:2018-09-06 06:01:41

标签: c# ienumerable

我已经定义了这样的可枚举的集合

IEnumerable<TaggedEdge<int, float>> enumerable;

if (tryFunc(World.sortedList_3.IndexOfValue(vector2), ref enumerable) && World.gclass19_0.bool_1)
{
}

在这里,我遇到了

错误
  

使用未分配的局部变量“可枚举”。错误代码:CS0165

那么在这里我该如何解决呢?请帮忙。

1 个答案:

答案 0 :(得分:2)

一种方法是初始化一个新的可枚举的对象:

// IEnumerable is now assigned
    IEnumerable<TaggedEdge<int, float>> enumerable = new IEnumerable<TaggedEdge<int, float>>();

    if (tryFunc(World.sortedList_3.IndexOfValue(vector2), ref enumerable) && World.gclass19_0.bool_1)
    {
    }

或使用out

IEnumerable<TaggedEdge<int, float>> enumerable;

if (tryFunc(World.sortedList_3.IndexOfValue(vector2), out enumerable) && World.gclass19_0.bool_1)
{
}

out的意思是:

表示参数将在返回之前在方法中初始化

ref的意思是:

参数将在方法的外部之外初始化。