一、List轉換成字符串有哪些方法
List作為c#中非常常用的數據結構,在進行轉換成字符串的時候也是非常常見的操作。下面將介紹幾種常用的方法:
1.使用string.Join()方法
List list = new List(){"a", "b", "c"};
string str = string.Join("", list);
Console.WriteLine(str); //"abc"
可以看到,我們利用string.Join()方法實現了將List轉換成字符串,其中第一個參數是自定義的分隔符,如果不需要分隔符可以傳入一個空字符串。
2.使用StringBuilder類
List list = new List(){"hello", "world", "!"};
StringBuilder sb = new StringBuilder();
foreach(string s in list)
{
sb.Append(s);
}
string str = sb.ToString(); //"helloworld!"
利用StringBuilder類可以實現對List的遍歷和操作,將每一個元素拼接成字符串。
3.使用Lambda表達式
List list = new List(){"1", "2", "3"};
string str = "";
list.ForEach(item => str += item);
Console.WriteLine(str); //"123"
使用Lambda表達式可以利用List的ForEach方法實現對每一個元素進行操作,再將結果拼接成字符串。
二、List中含有對象如何轉換成字符串
有時候,我們的List中不僅僅存儲了字符串,還有一些自定義的對象。這時候,我們就需要重寫ToString()方法。
class Person
{
public string Name {get; set;}
public int Age {get; set;}
public override string ToString()
{
return Name + " " + Age;
}
}
List list = new List()
{
new Person(){Name="Tom", Age=20},
new Person(){Name="Jack", Age=22},
new Person(){Name="Lily", Age=18},
};
StringBuilder sb = new StringBuilder();
foreach(Person p in list)
{
sb.Append(p.ToString());
}
string str = sb.ToString(); //"Tom 20Jack 22Lily 18"
可以看到,我們在Person類中重寫了ToString()方法,在遍歷List的時候直接調用ToString()方法即可將對象轉換成字符串。
三、List轉換成Json格式字符串
在進行Web開發時,我們通常需要將List轉換成Json格式字符串傳遞給前端以便渲染。這時候,我們可以使用Json.Net庫。
1.將List轉換成Json字符串
List list = new List()
{
new Person(){Name="Tom", Age=20},
new Person(){Name="Jack", Age=22},
new Person(){Name="Lily", Age=18},
};
string str = JsonConvert.SerializeObject(list);
Console.WriteLine(str);//"[{\"Name\":\"Tom\",\"Age\":20},{\"Name\":\"Jack\",\"Age\":22},{\"Name\":\"Lily\",\"Age\":18}]"
可以看到,我們利用了Json.Net庫中的JsonConvert.SerializeObject()方法將List轉換成了Json格式的字符串。
2.將Json字符串轉換成List
string str = "[{\"Name\":\"Tom\",\"Age\":20},{\"Name\":\"Jack\",\"Age\":22},{\"Name\":\"Lily\",\"Age\":18}]";
List list = JsonConvert.DeserializeObject<List>(str);
foreach(Person p in list)
{
Console.WriteLine(p.Name + " " + p.Age);
}
與將List轉換成Json字符串相反,我們使用JsonConvert.DeserializeObject()方法將Json字符串轉換成List。
四、List轉換成XML格式字符串
類似於Json轉換,我們將List轉換成XML格式字符串也是非常常見的操作。在這裡我們可以使用XmlSerializer類。
1.將List轉換成XML格式字符串
List list = new List()
{
new Person(){Name="Tom", Age=20},
new Person(){Name="Jack", Age=22},
new Person(){Name="Lily", Age=18},
};
XmlSerializer xs = new XmlSerializer(typeof(List));
using(StringWriter sw = new StringWriter())
{
xs.Serialize(sw, list);
string str = sw.ToString();
Console.WriteLine(str);
//
//
//
// Tom
// 20
//
//
// Jack
// 22
//
//
// Lily
// 18
//
//
}
可以看到,我們使用XmlSerializer.Serialize()方法將List轉換成了XML格式字符串。
2.將XML字符串轉換成List
string str = @"
Tom
20
Jack
22
Lily
18
";
XmlSerializer xs = new XmlSerializer(typeof(List));
using(StringReader sr = new StringReader(str))
{
List list = (List)xs.Deserialize(sr);
foreach(Person p in list)
{
Console.WriteLine(p.Name + " " + p.Age);
}
}
與將List轉換成XML字符串相反,我們使用XmlSerializer.Deserialize()方法將XML字符串轉換成List。
總結
通過以上的介紹,我們可以看到c#中List轉換成字符串的方法是非常豐富和靈活的,我們可以根據實際的需求選擇不同的轉換方式,從而更好的實現我們的業務邏輯。
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/238693.html
微信掃一掃
支付寶掃一掃