这是一种方法convert List<Class> to String
,
我也将方法附加到 convert the converted String back to List
。
.
MyClass 类:
public class MyClass
{
public Boolean success { get; set; }
public String msg { get; set; }
// class to string
public override string ToString()
{
return success.ToString() + "," + msg;
}
public MyClass(){}
// string to class
public MyClass(string myclassTostring)
{
string[] props = myclassTostring.Split(',');
success = Convert.ToBoolean(props[0]);
msg = props[1];
}
}
转换方式:
/// Produce a List ///
List<MyClass> myclassList =
new List<MyClass>()
{
new MyClass(){success = true, msg = "1suc"},
new MyClass(){success = false, msg = "2fail"},
new MyClass(){success = true, msg = "3suc"},
new MyClass(){success = true, msg = "4suc"},
new MyClass(){success = false, msg = "5fail"},
};
/// List Convert To String ///
string myclassListToString =
String.Join(";", myclassList.Select(o => o.ToString()));
Console.WriteLine(myclassListToString);
/// String Convert Back To List ///
string[] myclassToStrings = myclassListToString.Split(';');
List<MyClass> convertBackList =
myclassToStrings.
Select(myclassTostring => new MyClass(myclassTostring)).ToList();
编辑:
几个月后我摸了摸C# ASP.NET WebAPI
,发现JSON格式在各种api中经常使用,
而 JSON 是一种将数据转为字符串并转回数据的强大便捷方式,它可以自动将任何你能想到的对象、数组、类转为字符串,并自动转回。
关键字是JSON Serialize Deserialize
,google一下,你可以找到很多现成的包。
我知道其中最著名的一个是NewtonSoft JSON,微软也可能有自己的 JOSN 流程库。
例如:
public static string ToJSON(this object obj)
{
var serializer = new JavaScriptSerializer();
try
{
return serializer.Serialize(obj);
}
catch (Exception ex)
{
return "";
}
}
如果你安装 Nuget Package NewtonSoftJson
,你可以使用
public static string ToJSON(object obj)
{
return JsonConvert.SerializeObject(obj);
}