C#包含不允许我传递字符串的方法

时间:2014-10-11 19:24:56

标签: c#

尝试检查列表中是否存在用户名。列表类附带的contains方法不接受字符串作为参数,尽管在线示例表明这正是您传递的内容。

我在尝试构建时遇到以下错误:

Error:  The best overloaded method match for
   'System.Collections.Generic.List <TCPServer.User>.Contains(TCPServer.User)' 
        has some invalid arguments.

if (this.tcpClients.Contains(usr.UserName.ToString()))
                    {
                        //Append _number to name
                    }

任何人都明白为什么我不能将'Contains'方法传递给字符串?

1 个答案:

答案 0 :(得分:4)

您有Users的列表,因此Contains方法需要User

如果您想检查Name,可以使用Linq:

if(tcpClients.Any(x => x.UserName == usr.UserName))