C# 列表C查找匹配的用户

C# 列表C查找匹配的用户,c#,asp.net,C#,Asp.net,我在ASP.NET上有这个列表,我想找到从textbox提供的connectionid,找到匹配的用户,并将他的nick写入另一个textbox。我该怎么做 static List<User> users = new List<User>(); class User { public string connectionid { get; set; } public string nick { get; set; }

我在ASP.NET上有这个列表,我想找到从textbox提供的connectionid,找到匹配的用户,并将他的nick写入另一个textbox。我该怎么做

    static List<User> users = new List<User>();
    class User
    {
       public string connectionid { get; set; }
       public string nick { get; set; }
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        //I want to find connectionid from TextBox1, write the matching User nick into TextBox2
    }

您可以使用LINQ查找第一个具有该connectionid的用户

这应该是可行的:

        string connectionid = GetConnectionid();
        try
        {
            User user = users.Find(u => u.connectionid == connectionid);
        }
        catch (Exception)
        {
             // not found
        }
试试这个

protected void Button2_Click(object sender, EventArgs e)
{
  try
  {
     //I want to find connectionid from TextBox1, write the matching User nick into TextBox2
     string tempid = TextBox1.Text.Trim();
     List <User> data = (from user in users 
                              where user.connectionid == tempid  
                         select user).ToList();

    foreach(User aUser in data)
    {
      TextBox2.Text = aUser .nick;
    }
  }
  catch(Exception ex)
  {
    //Handle exception
  }
也许这会有帮助

foreach(User _user in users)
{
   if(_user.connectionid == TextBox1.Text)
   {
      TextBox2.Text = _user.nick;
      break;
   }
}
更新


添加了break语句以在找到匹配项时退出循环。

使用LINQ不需要数据库。这是一种在集合上工作的C查询语言。我有两个文本框。一个用于输入,另一个用于显示为什么所有冗余分配?
foreach(User _user in users)
{
   if(_user.connectionid == TextBox1.Text)
   {
      TextBox2.Text = _user.nick;
      break;
   }
}