2021/07/24(Sat) 11:47:33 編集(投稿者)
ありがとうございます。
> Paizaのプログラミングコンテストで実行のスピード勝負になったときには扱う文字列が英数字だけなのを良いことに文字列ではなくてバイナリを直接読み書きするってことみんなやってた
これって文字列を読み込んで、何か処理をしてから
再度文字列を書き込むというものですか?
私がいまやりたいのは
single配列を文字列に変換して
CSVファイルとして保存することなのですが、
Encoding.ASCIIを自作することで高速化することはできるのでしょうか?
英語は含んでおらず
数値しかないため、
Function aaa(stringValue$) As Byte()
Dim charArray As Char() = stringValue.ToCharArray()
Dim StNum As Integer = charArray.Length - 1
Dim Hai(StNum) As Byte
For i = 0 To StNum
Dim Ch As Char = charArray(i)
If Ch = "0" Then
Hai(i) = 48
ElseIf Ch = "1" Then
Hai(i) = 49
ElseIf Ch = "2" Then
Hai(i) = 50
ElseIf Ch = "3" Then
Hai(i) = 51
ElseIf Ch = "4" Then
Hai(i) = 52
ElseIf Ch = "5" Then
Hai(i) = 53
ElseIf Ch = "6" Then
Hai(i) = 54
ElseIf Ch = "7" Then
Hai(i) = 55
ElseIf Ch = "8" Then
Hai(i) = 56
ElseIf Ch = "9" Then
Hai(i) = 57
ElseIf Ch = "." Then
Hai(i) = 46
ElseIf Ch = "," Then
Hai(i) = 44
End If
Next i
Return Hai
End Function
というようなメソッドを自作してみたのですが
10倍くらい遅くなってしまいました。