C#从数据集异常获取字符串

C#从数据集异常获取字符串,c#,string,datatable,dataset,C#,String,Datatable,Dataset,我已经搜索过了&读取数据集不是问题,问题是我做了同样的事情,但它不起作用 我试图从数据集中获取完整的名称,当我尝试以下操作时 String Receiver_name = rec_Ds.Tables[0].Rows[0][First_Name].ToString() + " " + rec_Ds.Tables[0].Rows[0][Last_Name].ToString(); 它给出了ArgumentNullException未处理,其中'name'参数的子消息不能为null 所以我在互联网上

我已经搜索过了&读取数据集不是问题,问题是我做了同样的事情,但它不起作用

我试图从数据集中获取完整的名称,当我尝试以下操作时

String Receiver_name = rec_Ds.Tables[0].Rows[0][First_Name].ToString() + " " + rec_Ds.Tables[0].Rows[0][Last_Name].ToString();
它给出了
ArgumentNullException未处理
,其中'name'参数的子消息不能为null

所以我在互联网上搜索并将代码改为

String Receiver_name = rec_Ds.Tables[0].Rows[0][“First_Nameˮ].ToString() + “ ˮ + rec_Ds.Tables[0].Rows[0][“Last_Nameˮ].ToString();
现在它给出了
“First_Nameˮ在内容中不存在”

我试着通过以下方式让它工作,对我来说(在上面和下面的代码中)在任何方面都没有任何区别,但它工作得非常完美

我的问题是为什么上面的代码不起作用,为什么上面的代码不起作用

String Receiver_name = rec_Ds.Tables[0].Rows[0]["First_Name"].ToString();
Receiver_Name+= " " + rec_Ds.Tables[0].Rows[0]["Last_Name"].ToString();

好的,
“First_Nameˮ
被视为变量名,而不是带引号的字符串,因为引号不是“普通”双引号,而是印刷的左/右引号,因此它们被视为unicode符号

将它们更改为普通双引号

String Receiver_name = rec_Ds.Tables[0].Rows[0]["First_Name"].ToString() + " " + rec_Ds.Tables[0].Rows[0]["Last_Name"].ToString();

因此:从internet复制和粘贴时要小心-确保引号实际上被识别为引号,并检查语法突出显示。

您的代码是100%正确的,除非您不使用双引号。 可能是您从web复制的

实际上,您使用的是左双引号和右双引号,它们的十六进制值与简单引号不匹配

Character name             Symbol  Decimal-Val   Hax-Val

left double quotation mark   “      8220         201C
right double quotation mark  ”      8221         201D
double quotes                "      34           22
在编译器中,左双引号和右双引号被认为是名称的一部分,而不是引号,这就是为什么会出现错误

下面的内容对您很有用

 Receiver_name = rec_Ds.Tables[0].Rows[0]["First_Name"].ToString() + " " + rec_Ds.Tables[0].Rows[0]["Last_Name"].ToString();

你可以看到..这个..可以帮助你这个可能的副本不是副本,因为他知道如何访问字段。工作像魅力,伟大的解释,