使用带有两个参数的未分配局部变量 'enumerable'

Use of unassigned local variable 'enumerable' with two params

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

IEnumerable<TaggedEdge<int, float>> enumerable;

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

这里我收到

的错误

Use of unassigned local variable 'enumerable'. Error code : CS0165

那么我该如何解决这个问题呢?请帮忙。

一个是初始化一个新的enumrable:

// 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 表示:

表示参数会在它之前的方法中初始化returns

ref 表示:

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