假设我有一个简单的类,
public class Person {
public string name;
public int age;
public Gender gender; //enum type
//constructor
}
是否有内置方法将此类的对象解析为字符串,然后返回到Person
?
我可能会自己实现一个ToString()
,但我想知道是否已经为此做了一些事情。
该字符串不需要可理解,只要它是可逆的即可。
示例
Person p = new Person("Bob", 12, Gender.Male);
string s = Stringify(p); //s = "Bob#12#Male"
Person c = Personify(s); //c is just like Bob
答案 0 :(得分:4)
您可以使用多种序列化来实现此目的,一种简单的方法是使用Json.net
示例
var funkyString = JsonConvert.SerializeObject(person);
var person = JsonConvert.DeserializeObject<person>(funkyString);
注意:如果在.NET Core 3.x中,则不再需要Json.net
。框架中现在有一个Json serializer。 – insane_developer
如果您想进一步控制字符串的外观,一种方法是覆盖类中的ToString()
,然后编写自定义解码器以对数据进行未编码并设置属性(这很容易获得对于更复杂的类型是错误的。)