プログラミング: 2017年5月アーカイブ

List(Of String)型の変数に格納されたデータを、

Dim buff As New List(Of String)
Dim str As String
...(略)
buff.Add(hogehoge)
...(略)

str = String.Join("/", buff)

みたいに連結してひとつの String 型の変数にセットする処理が、あるプロジェクトではエラーにならず、あるプロジェクトでは

BC30311 型 'List(Of String)'の値を 'String()' に変換できません。

のエラーになってしまう。

str = String.Join("/", buff.ToArray)

という具合に明示的に型変換をしてやればエラーは出ないので、どこかに「暗黙の型変換を許すか否か」の設定があって、それでエラー有無の違いになってんじゃねえの?と思い、他のソースの比較や、プロジェクトのプロパティの内容の確認などしてたんだけど、そんな設定項目は見つからず。

結局、同僚が「あ、これじゃない?」と「原因」を見つけてくれて解決した。ありがたや、ありがたや。

まあ、ほんとは恥ずかしいので書きたくないんだけど、このブログ、俺のメモ帳でもあるので書いとく。

原因は、プロジェクトのプロパティ内の「アプリケーション」→「対象のフレームワーク」が「.NET Framework 2.0」になっていたため。
最新の「.NET Framework 4.6.1」を指定しなければいけなかった。
これだけでエラー消滅・・・

ああ・・・何というしょうもないミスでしょう・・・ 5/2 から日をまたいでずっと悩んでたよ(^^;;;;

同じコードなのに動きが違う場合、.NET Framework のバージョンも確認するようにしないとな。

このアーカイブについて

このページには、2017年5月以降に書かれたブログ記事のうちプログラミングカテゴリに属しているものが含まれています。

前のアーカイブはプログラミング: 2017年4月です。

次のアーカイブはプログラミング: 2017年6月です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。


月別 アーカイブ

電気ウナギ的○○ mobile ver.

携帯版「電気ウナギ的○○」はこちら