所以,这就是事情。我打算从
打印一个字符串[StructLayout(LayoutKind.Sequential)]
public struct INTERNET_CACHE_ENTRY_INFO
{
public UInt32 dwStructSize;
[MarshalAs(UnmanagedType.LPTStr)]
public String lpszSourceUrlName;
...
}
...
while(...)
{
INTERNET_CACHE_ENTRY_INFO entry;
...
String url = entry.lpszSourceUrlName;
Console.WriteLine(url);
}
问题在于Console.WriteLine()
,我得到Visited:lilymu@file:///C:/Users/lilymu/Desktop/scriptoutput.txt
这样的行,但是当我运行调试器并检查url
的值时,我得到file:///C:/Users/lilymu/Desktop/scriptoutput.txt
,这是截断版本。
为什么呢?我怀疑它可能是没有正确完成的编组,但如果有人能解释为什么会发生这种情况,以及如何解决这个问题,那将会很棒。