将对象列表转换为字符串

use*_*ser -6 c#

有人可以解释我如何将"System.Collections.Generic"转换为List<string>?从List<Tag> lsTag = new List<Tag>();List<string> list = new List<string>();

而Tag是一个类.提前致谢.

我尝试的是:

.ToList<string>stringbuilder

我读了一个.xml文件,然后尝试将我的项目添加List<Tag> lsTag = new List<Tag>();到Silverlight ListBox控件中.但我看到的唯一结果是Clipboard.Tag(我班级的名字).希望现在更清楚..

更新

这是我的.xml文件类:

namespace Clipboard {
public class Tag {
    public string name { get; set; }
    public List<CodeFragments> lsTags = new List<CodeFragments>();
}
Run Code Online (Sandbox Code Playgroud)

那是.xml文件的其他类:

 public class CodeFragments {
    public string name { get; set; }
    public string tagURL { get; set; }
    public string titel { get; set; }
    public string body { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是我的.xml文件:

<?xml version="1.0" encoding="utf-8"?>
<CodeFragments>
  <Tag name="codeFrag1">
<oFragments tagURL="fragm1-1" titel="signatuur1-1" body="public static void main(String args[])" />
<oFragments tagURL="fragm1-2" titel="signatuur1-2" body="public static void main(String args[])" />
Run Code Online (Sandbox Code Playgroud)

<Tag name="codeFrag2">
<oFragments tagURL="fragm2-1" titel="signatuur2-1" body="public static void main(String args[])" />
<oFragments tagURL="fragm2-2" titel="signatuur2-2" body="public static void main(String args[])" />
Run Code Online (Sandbox Code Playgroud)

</CodeFragments>
Run Code Online (Sandbox Code Playgroud)

我的类读取.xml文件:

public void LoadXMLFile() {
        WebClient xmlClient = new WebClient();
        xmlClient.DownloadStringCompleted += new DownloadStringCompletedEventHandler(XMLFileLoaded);
        xmlClient.DownloadStringAsync(new Uri("codeFragments.xml", UriKind.RelativeOrAbsolute));
    }
    public void XMLFileLoaded(object sender, DownloadStringCompletedEventArgs e) {
        if (e.Error == null) {
            string xmlData = e.Result;
            XDocument xDoc = XDocument.Parse(xmlData);
            var tagsXml = from c in xDoc.Descendants("Tag") select c.Attribute("name");
            List<Tag> lsTags = new List<Tag>();
            List<string> list = new List<string>();
            foreach (string tagName in tagsXml) {
                Tag oTag = new Tag();
                oTag.name = tagName;
                var tags = from d in xDoc.Descendants("Tag")
                           where d.Attribute("name").Value == tagName
                           select d.Elements("oFragments");
                var tagXml = tags.ToArray()[0];

                foreach (var tag in tagXml) {
                    CodeFragments oFragments = new CodeFragments();
                    oFragments.tagURL = tag.Attribute("tagURL").Value;
                    oFragments.body = tag.Attribute("body").Value;
                    oFragments.titel = tag.Attribute("titel").Value;
                    oTag.lsTags.Add(oFragments);
                }                    
                lsTags.Add(oTag);
            }
            //list = lsTags.Select(x => x.ToString()).ToList();
            lsBox.ItemsSource = lsTags;            
        }
    }       
Run Code Online (Sandbox Code Playgroud)

问题解决了!没有这些给出的答案...无论如何,谢谢你的回复!

Dan*_*rth 5

你的问题质量非常低,但我猜你想要的是这个:

List<string> list = lsTag.Select(x => x.Name.ToString()).ToList();
Run Code Online (Sandbox Code Playgroud)