我有一个List,我想把它转换成字符串。包括我已添加到列表中的所有de字符串和数据。
这是我的班级
public class MyClass
{
public Boolean success { get; set; }
public String msg { get; set; }
}
然后我以这种方式宣布:
List<MyClass> list = addDataToList("Passwd", "UserID");
那么,我该如何将该列表转换为String?
感谢您的帮助。
答案 0 :(得分:8)
如果要连接列表中的所有msg
,则可以使用string.Join
:
string str = string.Join(",", list.Select(r=> r.msg));
答案 1 :(得分:3)
public class MyClass
{
public Boolean success { get; set; }
public String msg { get; set; }
public override string ToString()
{
// return Whatever formalism of strings, e.g.
return success? "Yeah":"Sorry" + msg;
}
}
答案 2 :(得分:3)
你可以(没有IDE):
List<MyClass> list;
var res = from a in list
select String.Format("lala: {0} lili:{1}",a.success, a.msg);
或者你可以:
StringBuilder builder = new StringBuilder ();
foreach (a in list)
{
builder.AppendFormat("lala: {0} lili:{1}\n",a.success, a.msg);
}
关于第二种可能性,如果你需要格式化,我认为我的建议会稍快一点,但是Habib的那个肯定会更酷......
答案 3 :(得分:2)
这是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);
}
答案 4 :(得分:0)
尝试一下
for (int i = 0; i < list.Count; i++)
{
var a = list[i];
Console.WriteLine(builder.AppendFormat("lala: {0} lili:{1}\n", a.success, a.msg));
}