C# 如何将var转换为字符串?

C# 如何将var转换为字符串?,c#,parsing,windows-phone-8,C#,Parsing,Windows Phone 8,如何将var转换为字符串? 在我的windowsphone应用程序页面中,我想将此varDemoHeader转换为字符串 如何将var-DemoHeader转换为字符串?首先,var本身不是一个类型,编译器将根据该值推断该类型。您的类型实际上是HeaderT,您的查询返回一个IEnumerable(因此可能是多个) 假设您想要第一个标题: HeaderT first = DemoHeader.First(); string firstHeader = first.Header(); 或者希

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




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

首先,
var
本身不是一个类型,编译器将根据该值推断该类型。您的类型实际上是
HeaderT
,您的查询返回一个
IEnumerable
(因此可能是多个)

假设您想要第一个标题:

HeaderT first = DemoHeader.First();
string firstHeader = first.Header();
或者希望返回的所有内容都用逗号分隔:

string allHeaders = String.Join(",", DemoHeader.Select(dh => dh.Header()));
如果希望
ToString
返回有意义的内容(而不是类型名称),则它:


重写HeaderT类中的ToString()可能会有所帮助。然后,您可以将DemoHeader变量定义为HeaderT的列表,而不是单个HeaderT。

重写HeaderT类中的ToString方法“提供错误数据”是什么意思?你需要解释你所接受的行为和你所期望的。。。无论哪种方式,Roman看起来都是正确的。作为重写
ToString
的替代方法,
dh=>dh.Header()
可以替换为
dh.Header().GetStringIWant()
。我的重点是,如果他停止调用它,他就不必重写
ToString()
。我没有注意到他最初的问题是显式地调用
ToString()
string allHeaders = String.Join(",", DemoHeader.Select(dh => dh.Header()));
public class HeaderT
{
    private string header;
    public string Header
    {
        get { return header; }
        set { header = value; }
    }

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