如何将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 转换为字符串?
答案 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。