配列の要素数についてうちゃちゃTIPSとはコンテンツブログ制作ゲームITの困ったを解決します。2019年8月17日uchachaお世話になります。Uipathか.Netかどちらの仕様かわかりませんが以下のようなことをした際に、配列の要素数が2→10に増えてますがそういうものなのでしょうか。※個人的には最初に要素数2で宣言していた場合は増えない認識でした。このような動きになるのか不明でなのでご教示頂ければと思います。(System.IO)指定した条件を満たすファイルの名前を返します。criteria.配列数2と限定しているのは、仕様なのでしょうか?なら、GetFilesからの返却配列で、必要数を捕らえるのは出来ますね。GetFilesからの返却配列の順番は不定のようですので、Sortなんなりの処理は必要ですね。uchachaありがとうございます。System.IO.Directory.GetFilesに限らず配列で返すようなものを受け取った際には宣言した要素数を無視するってことですかね?配列数2としてSystem.IO.Directory.GetFilesをしたいのではなく今回たまたまこういうことを発見したので宣言した要素数より増えることがあるのかが知りたかった次第です。全部返却するから、あとは好きにしてねって事でしょうね。uchachaそうなんですね。配列(UiPath)「ええ~。2個しかもてないから受け取れないよ~」でエラーにならずに配列(UiPath)「よし10個分格納できるようにしたぜ。確かに受け取ったぜ」ってなるんですね、cheez_RPA説明が難しいのですが、GetFilesが返すものが「配列全体」そのものであるので、それを変数に代入しているために発生する挙動だと思います。uchachaあーイメージとしては配列をまるっと受け取るなので再度宣言しなおしている感じですかね。string(10){“C:\temp\1.xlsx”,“C:\temp\2.xlsx”~~~}のような。再度宣言しなおしている感じですかね。.NET(というより数多あるプログラミング言語のいくつか)の仕様として配列を変数に格納するときは、配列の中身が変数に入るのではなく、配列がメモリ上どこにあるかという位置が変数に入ります。uchacha:>3AssignでArrayFileにsystem.IO.Directory.GetFiles(“C:\temp”)を代入する>※C:\tempには10個のExcelファイルしかない上記のタイミングで、それまでに作っていた配列の「位置」の情報が、新しくGetFilesで生成された配列の「位置」に置き換わった、というイメージです。uchachaんーGetFilesで生成された配列のアドレスをArrayFileは見に行っているってことですよね。理解が乏しいですが、たぶんこのような感じかなと。uchacha:>なのでGetFiles前に確保していた領域は解放されているかもしくは残ったままかそうですね。ガベージコレクトで消えるはずです。uchachaありがとうございます。解放の部分を調べようと思いましたがUiPath(.Net)でアドレス取得のやり方が不明だったのであきらめます。cheez_RPA:>そうですね。ガベージコレクトで消えるはずです。System.IO.GetFiles()の、ソースコードを追っていくと、List<String>で結果を作成したあと、ToArray()していました。array;と、新規に領域を確保しています。System.Arrayはマネージド型なので、破棄されている筈です。Collectionの世代を見ることで、新しく配置されていることは、確認できますね。前の配列が、きちんと破棄されることを確認するには、巨大な配列を用意して、GC.Collectした後、ヒープが解放されるか、空きメモリをチェックするぐらいしか、方法が思いつきません。表が見難いので、こちらにも投稿しています。入力処理がTimeOutMSの時間経過後に入力されるという事象が発生しています。・ファイルを実行:現在アクティブとなっているxamlを実行。・デバッグ:デバッグ実行。エラー発生時は処理がStopする。Main.xamlが実行される。・実行:Main.xamlから実行される。Studio実行方法サイト内検索スポンサードリンクカテゴリーLinuxTOEICUiPathyoutubeうちゃちゃTIPSITの困ったを解決します。