Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
読み取れないディレクトリを除いてそれを取得する
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=30196#CommentId82638
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
YuO
 (社会人)
投稿日時
2016/12/2 16:18:19
まず,Directory.EnumerateDirectoriessはIEnumerable(Of String)を,
Directory.GetDirectoriesはString()を,それぞれ戻り値として返します。
その上で,①と③,②と④は型が同じなので機能します。
また,①と④はString()がIEnuemrable(Of String)を実装しているかのように振る舞うため,機能します。
しかし,②と③は,IEnumerable(Of String)はString()ではないので,そもそも正しくありません。
キャスト失敗の例外がCatchに捕らえられている,というのが実際かと思います。
# Catch節をCatch e As UnauthorizedAccessExceptionにすると例外に気付くはず。
このサイトのスタンスには反するのですが,Option StrictはOnにしてプログラムを行う事をお勧めします。
# Option Strict Onならばそもそもエラーになったはず。