我有一个格式类似于以下内容的文本文件:#example1.com;example2.com;example3.comexample4.net;example6.orgexample7.uk;example8.io;ab123example4.net#每行定义一个公司拥有的域。每行可以有2个或更多域。不幸的是,我无法修改文件的格式。我对c#不太熟悉(我通常在Linux / Unix上使用bash / sh,我可能会默认使用grep),并且正在尝试扩展一些现有的c#软件以添加检查两个域是否由同一公司拥有的功能。目前,我正在读取文件,如下所示:private List<string> _CompanyOwnedDomains;private String CompanyOwnedDomainsFileName = Environment.GetEnvironmentVariable( "DomainChecker", EnvironmentVariableTarget.Machine) + @"Path\To\CompanyOwnedDomains.config";// Various error checking happens here_CompanyOwnedDomains = File .ReadAllLines(CompanyOwnedDomainsFileName) .Where(line => !String.IsNullOrEmpty(line)) .Where(line => !line.StartsWith("#")) .Select(line => line.ToLower()) .ToList();到目前为止,当我进行检查时,我对如何与以上内容进行交互有些困惑。为了论证,可以说我有两个变量,DomainA和DomainB。我想检查两个域是否都属于同一公司。我可以执行以下操作,但这似乎效率很低:var Match = _CompanyOwnedDomains .FirstOfDefault(DomainsList => DomainsList.Contains(DomainA.ToString());if(Match != null) && Match.Contains(DomainB.ToString()){ // Do stuff}有没有办法检查两个值是否都存在于同一列表项中?对于“ example4.net”或类似查询,Contains方法是否会返回ab123example4.net?使用其他变量类型(例如字典)会更好吗?
2 回答
- 2 回答
- 0 关注
- 126 浏览
添加回答
举报
0/150
提交
取消