我一直在努力尝试理解ArrayList
,但我遇到了一个问题,其中包含我的搜索功能的最后部分。以新表格加载搜索结果
我有一个数组列表,设置为从StreamReader
获取数据。数据由与团队有关的众多属性组成,例如他们的名字和他们徽标的图像路径。
然后我创建了一个搜索,扫描整个数组列表,查看用户通过文本框输入的特定字符串。
然后我创建了一个if语句来打开一个新窗体,如果该搜索返回true。
我想新的表格根据搜索的数据加载团队的每个属性。例如,如果我搜索“利物浦”,它会拿出经理姓名,体育场名称以及新形式的搜索名称。我不知道该怎么做。
我真的可以想到的唯一工具是load.event
过程,但我找不到有关将其链接到数组列表的很多信息。
private void btn_Search_Click(object sender, EventArgs e)
{
foreach (Object obj in allTeams)
{
Team = (Team)obj;
if (team.teamName.ToUpper() == nameToMatch.ToUpper()) //case insensitive search.
{
FormTeam frmTeam = new FormTeam(Team); //windows form that displays team info.
frmTeam.Visible = true;
break;
}
}
}
上面是我的搜索功能。 (我没有使用List<T>
,因为它要求所有东西都必须存储在ArrayList
中。)
是我想实现的目标吗?如果是的话如何?
对不起,延迟回复。我仍然试图解决这个问题。我没有使用LINQ,因为我对c#没有那么自信。您在第1部分中演示的方法。那不仅仅是仅显示团队名称吗?我只想从一个搜索值中显示出团队的每个属性(经理,体育场)。 – zac
是的,你必须实现所有你需要的,我看到你的构造函数接受整个teamobject。我会解决这个问题。 – CSharpie
这仍然让我感到困惑。澄清第1部分意味着要返回搜索结果,如果真的启动新的表单。然后将第二部分的代码设置为新创建表单的第一个方法。由于构造函数接受整个对象,我将每个值都分配给例如'teamName.Text = team.TeamName;'到类似文本框或标签的对象?很抱歉,因为我知道这样做似乎很乏味。 – zac