一、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-tw/n/238693.html