【C#入門】Uri.CheckSchemeName()メソッドでスキーム名の有効性を判定する方法
C#のUri.CheckSchemeName()メソッドは、指定されたスキーム名(scheme name)が有効かどうかを判定するための静的メソッドです。URIのスキーム部分が正しい形式に従っているかを確認したい場合に便利なメソッドです。
構文
Uri.CheckSchemeName()メソッドの構文は以下のとおりです。
public static bool CheckSchemeName (string schemeName);
引数schemeNameには、検証対象となるスキーム名を文字列として渡します。戻り値はbool型で、スキーム名が有効であればtrue、無効であればfalseが返されます。
有効なスキーム名の条件
RFC 2396の規定に基づき、有効なスキーム名は次の条件を満たす必要があります。
- 先頭が英字(a〜z、A〜Z)であること
- 2文字目以降は英字・数字・「+」「-」「.」のいずれかであること
使用例1:httpsスキームの検証
まず、基本的な使用例を見てみましょう。URLからスキーム名を取得し、その妥当性をチェックします。
using System;
public class Demo {
public static void Main(){
Uri newURI = new Uri("https://www.tutorialspoint.com");
Console.WriteLine("URI = "+newURI);
string schemeName = newURI.Scheme;
if(Uri.CheckSchemeName(schemeName))
Console.WriteLine("Valid: Scheme name");
else
Console.WriteLine("Invalid: Scheme name");
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
URI = https://www.tutorialspoint.com/ Valid: Scheme name
この例では、UriオブジェクトからSchemeプロパティを使って「https」というスキーム名を取得し、CheckSchemeName()メソッドで検証しています。「https」は有効なスキーム名なので、「Valid: Scheme name」と表示されます。
使用例2:ファイルパスを含むURLの検証
続いて、インデックスページへのパスを含むURLを使用した別の例です。
using System;
public class Demo {
public static void Main(){
Uri newURI = new Uri("https://www.tutorialspoint.com/index.htm");
Console.WriteLine("URI = "+newURI);
string schemeName = newURI.Scheme;
if(Uri.CheckSchemeName(schemeName))
Console.WriteLine("Valid: Scheme name");
else
Console.WriteLine("Invalid: Scheme name");
}
}出力結果
上記のコードを実行すると、次のような出力が得られます。
URI = https://www.tutorialspoint.com/index.htm Valid: Scheme name
URLにパス(index.htm)が含まれていても、スキーム名自体は「https」なので、同様に有効と判定されます。
まとめ
Uri.CheckSchemeName()メソッドを使うことで、URIのスキーム名がRFC 2396の規定に適合しているかどうかを簡単に確認できます。ユーザー入力のURLを検証する際や、動的に生成したURIの妥当性をチェックする際に活用できるでしょう。
-
C#のSingleOrDefault()メソッドの使い方をわかりやすく解説
SingleOrDefault()メソッドとはC#のLINQに含まれるSingleOrDefault()メソッドは、シーケンスから単一の特定要素を返すメソッドです。大きな特徴は、要素がシーケンス内に存在しない場合でも例外をスローせず、その型のデフォルト値を返すという点にあります。たとえば参照型の場合は null、数値型の場合は 0 といったデフォルト値が返されるため、空のコレクションを安全に扱いたい場面で非常に便利です。Single()メソッドとの違い似た名前の Single() メソッドは、要素が存在しない場合や複数の要素が見つかった場合に例外(InvalidOperationExcepti
-
【C#】String.Join()メソッドで文字列配列を連結する方法
String.Join()メソッドとはC#のString.Join()メソッドは、文字列配列のすべての要素を1つの文字列に連結するためのメソッドです。各要素の間には、引数で指定した区切り文字(セパレーター)が自動的に挿入されます。たとえば、区切り文字として改行コード「\n」を指定すれば、配列の各要素がそれぞれ別の行に配置された、複数行の文字列を簡単に作成できます。基本的な構文String.Join(\n, starray);第1引数: 要素間に挿入する区切り文字第2引数: 連結対象の文字列配列戻り値: 連結された1つの文字列サンプルコード以下は、5つの文字列要素を持つ配列を改行コードで連結し、