从列表中进行字符串匹配

3
我正在制作一个网络浏览器,但卡在了这个问题上。我希望地址栏既可以作为地址栏,又可以作为搜索栏。起初,我尝试通过查询搜索栏与 if adrBarTextBox.text.endswith(".com") 来解决问题,但很快意识到并不是每个域名都以 .com 结尾。
目前我使用的代码是(并且无法解决问题):
// Populate List.
var list = new List<string>();
list.Add(Properties.Settings.Default.suffix);

(Properties.Settings.Default.suffix是当前可用的每个域名后缀的列表)

// Search for this element.
if (adrBarTextBox.Text.Contains(list.something????))
{
    // Do something (I have this part all set up)
}

我遇到问题的部分是:
if (adrBarTextBox.Text.Contains(list.

我知道这没有意义,但这就是我在问的原因。我已经坐在这里想了几个小时,一直找不到新的方法。我知道.Text.Contains(list)没有意义,而我却陷入了困境。

我知道这个问题有点新手,可能有一些简单易行的方法一直在我的面前,但我们都必须从某个地方学起。


1
我正在制作一个网络浏览器,但卡在了一个问题上。- 只有一个问题? - Will Custode
哈哈..我一直被一堆事情困扰,但这是第一个让我真正陷入困境的问题,以至于我无法继续。 - CheapApples12
@WilliamCustode 总会有一件事情哈哈 - Syakur Rahman
1
我正在制作一个网络浏览器?祝你好运... - Shimmy Weitzhandler
2个回答

1

您可能需要这个

if (list.Any(x => adrBarTextBox.Text.Contains(x)))
{
   //...
}

1

使用 Uri.IsWellFormedUriString 来确定输入字符串是否为有效的 URL。

如果您想将一个包含单词的字符串与另一个单词列表进行匹配,请使用

myList.Any(item => input.Contains(item));

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接