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();
好吧,“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();