□投稿者/ シュヴァ (1回)-(2017/08/02(Wed) 11:53:44)
|
分類:[.NET 全般]
プログラムのコードををVB6からVB2010に変換する際にMidB関数が使えないとのことだったのでhttp://jeanne.wankuma.com/tips/vb.net/string/leftb.htmlの
MidBと同じ動きをする関数を参考にし、利用しました。
Public Shared Function MidB(ByVal strLine As String, ByVal iStart As Integer, ByVal iByteSize As Integer) As String
Dim hEncoding As System.Text.Encoding = System.Text.Encoding.GetEncoding("Shift_JIS")
Dim btBytes As Byte() = hEncoding.GetBytes(strLine)
Return hEncoding.GetString(btBytes, iStart - 1, iByteSize)
End Function
動作自体は正しく行えているのですが変換前のプログラムより3倍ほど時間が掛るようになりました。
他の処理の時間も計測したところ、変換前と変わらなかったのでこの関数を利用している処理が原因なのは確かなようです。
一気に読み込んでまとめて処理ということはせず、一行ずつ処理を行いたいです。何か対処法はありますでしょうか?
|
|