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

本文关键字:字符串 异常 获取 数据集 | 更新日期: 2023-09-27 17:56:38

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

当我尝试遵循时,我正在尝试从数据集中获取完整名称

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

它给出ArgumentNullException was unHandeled 带有子 "名称"参数的消息不能为空。

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

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

现在它给了“First_Nameˮ Doesn't exist in content

我尝试通过以下方法使其工作,对我来说似乎没有任何区别(在上面和下面的代码中),但它工作得很好

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

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

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

好吧,“First_Nameˮ被视为变量名而不是带引号的字符串,因为引号不是"正常"的双引号,而是印刷的左/右引号,因此它们被威胁为 unicode 符号。

将它们更改为普通的双引号。

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

所以:从互联网上复制和粘贴时要小心 - 确保引号实际上被识别为引号并检查语法突出显示。

你的代码是100%正确的,除了你doesn't use Double Quotes可能是由于您从网络复制

其实你用的是Left Double quotes & Right Double quotes,它们的十六进制值与简单引号不匹配

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();