リストを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"));
これで、Google に送信され、https 経由でアクセスする URI しか取得できなくなりましたが、これは URI オブジェクトにも含まれているので、完全な URI パスとして戻したい場合はどうすればよいでしょうか?
var fullURIsOfGoogleUris = googleUris.Select(u => u.AbsoluteUri);
この最終的なリストは、単なる文字列 (最初に指定した完全な URI) になります。
あなたはそれを「bool」値として欲しいと言いました...まあ、これに使用できますAny()
。上記の例を使用すると、これは次の 1 行になります。
bool hasGoogleUris = myList1.Select(u => new Uri(u)).Any(u => u.Host.Contains("google") && u.Scheme.Equals("http"));
上記は、そのリストにホストに含まれるURIが含まれているかどうかに応じて、true
または値を提供します.false
google
http