【问题标题】:C# Get String From Data set Exception [closed]C#从数据集异常中获取字符串[关闭]
【发布时间】:2015-09-02 14:09:55
【问题描述】:

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

当我尝试关注时,我正在尝试从数据集获取完整名称

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# string datatable dataset


【解决方案1】:

你的代码是 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();

【讨论】:

  • 像魅力一样工作,很好的解释,
【解决方案2】:

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

将它们更改为正常的双引号。

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-05
    • 1970-01-01
    • 2018-12-13
    • 2021-12-15
    • 2015-02-17
    • 2021-02-14
    • 1970-01-01
    相关资源
    最近更新 更多