将列表变成URI
实例:
var uris = myList1.Select(u => new Uri(u));
http://msdn.microsoft.com/en-us/library/system.uri.aspx
然后,您可以访问各种属性,例如 Scheme 和 Host。
假设我的清单中有这个(除其他外):
http://www.google.co.uk/search.php?searchterm=a
我可以先把它变成一个 Uri:
var uris = myList1.Select(u => new Uri(u));
现在我只想要那些将要并google.com
拥有...scheme
https
var googleUris = uris.Where(u => u.Host.Contains("google") && u.Scheme.Equals("http"));
所以我现在只有 URI 会发送到 Google 并通过 https 访问它,很好,但它现在也在一个 URI 对象中,那么如果我只想将它作为完整的 URI 路径返回呢?
var fullURIsOfGoogleUris = googleUris.Select(u => u.AbsoluteUri);
这个最终列表现在只是字符串(您首先提供的完整 URI)。
你提到你想要它作为一个“布尔”值......你可以使用Any()
它。使用我上面的例子,这将变成一行:
bool hasGoogleUris = myList1.Select(u => new Uri(u)).Any(u => u.Host.Contains("google") && u.Scheme.Equals("http"));
根据该列表true
是否false
包含包含google
在其主机中的 URI 并通过http
.