Unicode な問題
- 問題
- これは Globalization/Unicode の問題です。
次のメソッドは指定されたフォルダからプラグイン用アセンブリ(DLL)を検索するものである。
Globalization/Unicode の観点から致命的な問題点を指摘し、可能であれば修正せよ。
実装は、エラー処理や例外チェックは省略されています。
public static IEnumerable<string> SearchPlugins(params DirectoryInfo[] searchList) { foreach (DirectoryInfo dir in searchList) { foreach (string filename in dir.GetFiles()) { string extension = Path.GetExtension(filename); // *.inc をプラグインとして認識 if (string.Compare(extension, ".inc", true) == 0) yield return filename; // *.ex をプラグインとして認識 if (string.Compare(extension, ".ex", true) == 0) yield return filename; } } }
解答は後ろのトピック。