1

以下のコードを使用して、10行ほどのテキストファイルを読み取って作成した配列をループするため、配列内の各項目はテキストファイルの行の1つです

Dim myarray As Array
myarray = Split(stringfromtextfile, vbCrLf)
For each element in myArray
MgBox(element)
Dim splititem As String = Split(element, "\")

メッセージ ボックスには期待どおりの行が表示されますが、分割しようとするとエラーが発生します。

エラー 1 タイプ「文字列の 1 次元配列」の値を「文字列」に変換できません。

メッセージ ボックスに表示された値を文字列に変換して取得し、それを分割するにはどうすればよいですか?

乾杯!

4

2 に答える 2

3

このコード行は無効です:

Dim splititem As String = Split(element, "\")

Split関数は文字列の配列を返しますが、単一の文字列のみを表す変数に結果を代入しようとしています。

それがエラーメッセージがあなたに伝えていることです:「タイプ「文字列の1次元配列」の値」はSplit関数から返されているものであり、それを「「文字列」に変換することはできません」splititem変数。

次のように変更します (文字列の配列を示す括弧に注意してください)。

Dim splititem As String() = Split(element, "\")

また、古い VB 6 メソッドではなく、文字列操作に .NET Framework メソッドを使用することを強く検討してください。これらは、主に古いコードとの互換性を目的として提供されており、新しいコードでの使用を意図したものではありません。

VB.NET コードではなく、実際にVB 6 コード (このようなコード) を記述している場合、宣言の時点で変数を割り当てることはできません。これらを別々のステートメントに分割する必要があります。

Dim splititem As String()
splititem = Split(element, "\")
于 2013-08-20T12:20:42.800 に答える