我有一些PHP代码,现在想用C#重写。PHP代码中有像fputs($file,serialize($val))这样的内容。
在.NET中,具体而言是C#,什么可以替代Serialize?
我有一些PHP代码,现在想用C#重写。PHP代码中有像fputs($file,serialize($val))这样的内容。
在.NET中,具体而言是C#,什么可以替代Serialize?
using (Stream stream = File.Open(filePath, FileMode.Create))
{
BinaryFormatter bformatter = new BinaryFormatter();
bformatter.Serialize(stream, myObject);
}
Sharp Serialization Library对我在将serialize调用从vBulletin移植到C#时很有帮助。但是在serialize
方法中,我不得不使用str.Length
替换StringEncoding.GetByteCount(str)
,因为StringEncoding.GetByteCount
会给出长度+1,这会在使用PHP进行反序列化时导致问题。所以整行代码应该是:
return sb.Append("s:" + str.Length + ":\"" + str + "\";");