它是一个窗口表单应用程序,我在其中创建了一个链接列表。 我的一个函数是一个搜索函数,它接受来自用户的参数并根据输入搜索链接列表并输出Nod中的所有内容(Nod包含FirstName,LastName,Telephone)在DataGridView中输出它形成。
我无法做到的事情:将Nod相关信息(FirstName,LastName,Telephone)发送到表单上的DataGridView。
public void search(string input)
{
Node current = First;
int txt;
bool isNumerical = int.TryParse(input, out txt);
if (!isNumerical)
{
while (current != null)
{
if (current.FirstName.Equals(input) || current.LastName.Equals(input))
{
Console.WriteLine(current.FirstName);
Console.WriteLine(current.LastName);
Console.WriteLine(current.Telephone);
Console.WriteLine("**********");
}
current = current.NextNode;
}
}
else
{
while (current != null)
{
if (current.Telephone==txt)
{
Console.WriteLine(current.FirstName);
Console.WriteLine(current.LastName);
Console.WriteLine(current.Telephone);
Console.WriteLine("**********");
break;
}
current = current.NextNode;
}
}
}
答案 0 :(得分:0)
如果我猜对了你的结构。
在表单上有一个DataGridView,在此表单的代码隐藏中,您可以调用搜索。
如果只有单一结果,则使用Grant Winney建议。但我认为可能会有很多结果:
public List<Node> search(string input)
在方法中创建一个List结果并初始化它。
然后当找到结果时将其添加到列表中。
在方法的最后添加:
return results;
将此方法用作:
var results = search(string input);
或 名单
使用方法后循环列表并填充DataGridView
<强>增加:强>
检查你的WHILE
第一个循环没有;当你找到第一个匹配时结束,但第二个匹配。