Array.Find不返回值

时间:2015-05-10 01:49:25

标签: c# arrays

我试图使用Array.Find()从结构数组中返回一个结构,并将其分配给名为Result的结构。但是,Result的值永远不会从null更改(我通过调试器运行了两次)。我的代码发布在下面,有人可以帮助我吗?

public void button_Click(object sender, EventArgs e)
{
    string formName = textBoxName.Text;

    Info Result = Array.Find<Info>(Data, p => p.Name == formName);

    textBoxHeight.Text = Result.Height;
}

我正在尝试搜索名为Info[]的结构数组Data,其元素为x,其中Info[x].Name与输入的值相同进入另一个文本框。

调试器显示它设法找到该元素,但该元素从未分配给Result

这是结构的声明:

public struct Info
{ 
    string Name
    string Height
}

1 个答案:

答案 0 :(得分:0)

在我看来,这应该抛出一个错误。我注意到名字和身高并没有公共修饰符所以我写了一点测试

enter image description here

正如您所看到的,结构上的名称属性不可用。我会尝试公开名字和身高,看看是否有所作为。