Public Function ReadATextFile(fileName As String) As String
Dim FSO As New FileSystemObject
Dim Tsr As TextStream
Dim ReturnString As String
If FSO.FileExists(fileName) Then
Set Tsr = FSO.OpenTextFile(fileName, ForReading)
ReturnString = Tsr.ReadAll
Tsr.Close
ReadATextFile=ReturnString
End If
End Function
このルーチンに次のVBコードを変換するには、ちょうど私が使用したVBA
でFileSystemObjectオブジェクトを使用して文字列にファイルを読み込みstring str = File.ReadAllText(ofd.FileName); in c#
が、ここでの問題は、私はVBAから文字列を探索する際、文字列の長さは約13000と文字列のC#からの長さは約15000
ですですなぜそのような違いがありますか? c#によって追加される余分な文字は何ですか?エンコーディング、コンパイラ、その他の要素に依存しますか?
VBAとC#の両方のファイル(WriteAllText)を保存し、変更をdiffしてみることもできます。 –
両方のファイルの内容に違いはありませんが、C#とVBAの両方で同じアルゴリズムを使用して文字列を暗号化すると、別の内容が得られます:( – kevin159
この関数は常に空の文字列 '" "'を返します。 –