c#“无法从'string []'转换为'string'

时间:2016-05-16 00:03:54

标签: c#

我正在尝试在字符串中创建一个列表来获取这样的用户名:

string[] whitelisted = { "example", "exampøle222", "example245"};

if (sentRequest.Sender.Username.ToLower().Contains(whitelisted))

4 个答案:

答案 0 :(得分:2)

您正在检查用户名是否包含该列表。您应该检查列表是否包含用户名。

module3

答案 1 :(得分:1)

您的比较是倒退的。您需要查看数组是否包含字符串。

答案 2 :(得分:0)

您可能想检查sentRequest.Sender.Username.ToLower()列表中是否存在whitelisted,对吗?

然后将其翻转if (whitelisted.Contains(sentRequest.Sender.Username.ToLower()))

您收到的错误表明您调用的方法即string.Contains()可以接受string,但无法接受数组string[]

答案 3 :(得分:0)

使用LINQ聚合函数可以非常简单地完成。

string[] strings = {"example1","example2"};
string result = strings.Aggrigate((l,r)=>l+r);

您也可以使用String.Join方法

string[] strings = {"example1","example2"};
string result = String.Join("",strings);

但是,当我查看其余代码时,我建议解决类似这样的问题。

if(whitelisted.IndexOf(sentRequest.Sender.Username.ToLower()) != -1)

只有当用户名在白名单中时才会执行if语句。