如何将var转换为字符串?

时间:2014-09-15 09:50:18

标签: c# parsing windows-phone-8

如何将var转换为字符串? 在我的windowsphone应用程序页面中,我想将此 DemoHeader 转换为字符串。


XDocument myData = XDocument.Load("aarti.xml");

var DemoHeader = from query in myData.Descendants("bookinfo")
                 select new HeaderT
                 {
                     Header = (string)query.Element("header")
                 };


ContentHeaderLine.Text = DemoHeader.ToString();‏ //LINE GIVING WRONG DATA

public class HeaderT
{
    string header;
    public string Header
    {
        get { return header; }
        set { header = value; }
    }    
}

如何将 var DemoHeader 转换为字符串?

2 个答案:

答案 0 :(得分:3)

首先,var本身不是一个类型,类型将由编译器从值推断出来。您的类型实际为HeaderT,您的查询返回IEnumerable<HeaderT>(可能是多个)。

假设你想要第一个标题:

HeaderT first = DemoHeader.First();
string firstHeader = first.Header();

或者您希望所有返回的内容以逗号分隔:

string allHeaders = String.Join(",", DemoHeader.Select(dh => dh.Header()));

如果您希望ToString返回有意义的内容(而不是类型名称),override它:

public class HeaderT
{
    private string header;
    public string Header
    {
        get { return header; }
        set { header = value; }
    }

    public override string ToString()
    {
        return Header;
    }
}

答案 1 :(得分:0)

在HeaderT类中覆盖ToString()可能有所帮助。之后,您的DemoHeader变量是HeaderT的列表而不是单个HeaderT。