Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在使用 DLLImport 将一些函数从我的非托管 DLL 加载到 C# 中,并CharSet = CharSet.Ansi用于字符串。
CharSet = CharSet.Ansi
当我使用 .NET 3.5 编译项目时,字符串看起来很好。但是,当我使用 .NET 4.0 进行编译时,我的字符串似乎具有错误的字符集。
怎么了?
但是,我不确定您看到的问题是什么 - 请记住,C# 和 Visual Basic 的默认值已经是,而CharSet.AnsiC++ 的默认值是CharSet.None,相当于CharSet.Ansi. 所以你的声明是不必要的。
CharSet.Ansi
CharSet.None
也许在不明确定义 CharSet 的情况下尝试一下,看看会发生什么。
你也可以试试CharSet.Auto,它会尝试自动选择正确的字符集
CharSet.Auto