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

问题描述 投票:0回答:1

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

IEnumerable<TaggedEdge<int, float>> enumerable;

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

在这里我得到了错误

使用未分配的局部变量'enumerable'。错误代码:CS0165

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

c# ienumerable
1个回答
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的意思是:

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

© www.soinside.com 2019 - 2024. All rights reserved.