这里有一种方法可以将 List<Class> 转换为 String,同时我也附上了将转换后的 String 再次转换为 List 的方法。
MyClass 类:
public class MyClass
{
public Boolean success { get; set; }
public String msg { get; set; }
public override string ToString()
{
return success.ToString() + "," + msg;
}
public MyClass(){}
public MyClass(string myclassTostring)
{
string[] props = myclassTostring.Split(',');
success = Convert.ToBoolean(props[0]);
msg = props[1];
}
}
转换的方法:
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"},
};
string myclassListToString =
String.Join(";", myclassList.Select(o => o.ToString()));
Console.WriteLine(myclassListToString);
string[] myclassToStrings = myclassListToString.Split(';');
List<MyClass> convertBackList =
myclassToStrings.
Select(myclassTostring => new MyClass(myclassTostring)).ToList();
编辑:
几个月后,我开始接触 C# ASP.NET WebAPI
,发现在各种api中经常使用JSON格式。
JSON是一种强大而方便的将数据转换为字符串并将其转换回数据的方式。它可以自动将任何类型的对象、数组、类转换为字符串,并自动转换回来。
关键词是JSON序列化和反序列化
,在谷歌上搜索,你可以找到许多现成的包。
我知道其中一个著名的包是NewtonSoft JSON,Microsoft也可能有自己的用于JSON处理的库。
例如:
public static string ToJSON(this object obj)
{
var serializer = new JavaScriptSerializer();
try
{
return serializer.Serialize(obj);
}
catch (Exception ex)
{
return "";
}
}
如果您安装了Nuget包NewtonSoftJson
,则可以使用以下功能:
public static string ToJSON(object obj)
{
return JsonConvert.SerializeObject(obj);
}
string.Join
和Enumerable.Select
来解决,但如果你不告诉我们转换为字符串应该返回什么,很难给出一个好的答案。 - CodesInChaos