C# 列表C查找匹配的用户
我在ASP.NET上有这个列表,我想找到从textbox提供的connectionid,找到匹配的用户,并将他的nick写入另一个textbox。我该怎么做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; }
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;
}
}