C# Linq抛出对象引用未设置为对象错误的实例

C# Linq抛出对象引用未设置为对象错误的实例,c#,linq,C#,Linq,我开始学习如何使用linq,我已经学习了一些例子,然后自己开始学习。但当我运行应用程序时,我得到了“对象引用未设置为对象的实例”。我不确定为什么,一切看起来都正常,但由于我开始学习如何使用Linq,也许有人会知道它为什么会抛出该错误 这是我的密码 DataSet ds = GetContacts(); DataTable dt = ds.Tables[0]; var query = from contact in dt.AsEnumerable()

我开始学习如何使用linq,我已经学习了一些例子,然后自己开始学习。但当我运行应用程序时,我得到了“对象引用未设置为对象的实例”。我不确定为什么,一切看起来都正常,但由于我开始学习如何使用Linq,也许有人会知道它为什么会抛出该错误

这是我的密码

DataSet ds = GetContacts();

        DataTable dt = ds.Tables[0];

        var query = from contact in dt.AsEnumerable()
                    where contact.Field<string>("ContactName").Contains("aria")
                    select contact;

        foreach (var con in query)
            Response.Write(con.Field<string>("ContactName") + "<br>");

看右边的侧边栏。我一眼就能看到你的错误好几次,所以这很可能是重复的。哪一行抛出了异常?确保
ds
不为空。@PoweredByOrange,contact.Field(“ContactName”).Contains(“aria”)这就是产生错误的地方。您可以发布GetContacts()的代码吗;你有没有读过旁边的那些,因为它们的相似性而自动链接的那些?你考虑过例外的文本吗?显然,有些变量没有设置。您是否尝试过调试以找出它是哪一个?我不是来取笑你或贬低你的,但我不能接受你对Linq和这个例外有一个完全独特的问题。我相信你现在已经知道了。问一个问题要慢一些,像这样的问题不太可能被回答,因为它在其他地方已经被彻底地解决了。
public DataSet GetContacts()
    {
        DataSet ds = new DataSet();

        string strCm = "select * from [Contacts]";
        SqlCommand cm = new SqlCommand(strCm, cn);
        cm.CommandType = CommandType.Text;

        SqlDataAdapter da = new SqlDataAdapter(cm);
        cn.Open();
        da.Fill(ds);
        cn.Close();

        return ds;
    }