【问题标题】:System.Convert does not contain a definition for "toString"System.Convert 不包含“toString”的定义
【发布时间】:2012-10-16 00:23:45
【问题描述】:

我正在尝试将值转换为字符串,据我所知,我必须使用命名空间 System 的 Convert 类的 toString 方法。

这是我的代码:

Compiler Error Message: CS0117: 'System.Convert' does not contain a definition for 'toString'

Source Error:


Line 101:                while (r.Read())
Line 102:                {
Line 103:                    listbox.Items.Add(new ListItem(Convert.toString(r["first_name"]), Convert.toString(r["first_name"])));
Line 104:                }

我到底做错了什么?我是 C# 新手(因此,如果您查看我的个人资料,您会看到 6-7 个问题,最近都与 C# 相关!)。这真的让我也练习了我的 OOP 排骨!

【问题讨论】:

  • .NET farmework 中的所有公共方法都以大写开头。所以 toString 肯定不是,也许是 ToString。
  • 记住 IntelliSense 是你的朋友。

标签: c# asp.net oop


【解决方案1】:

C# 区分大小写试试这个

Convert.ToString()

【讨论】:

    【解决方案2】:

    摆脱

    Convert.toString(r["first_name"])
    

    并将其更改为

    r["first_name"].ToString()
    

    编辑以消除这个令人讨厌的小错字:)

    【讨论】:

    • 这个答案是错误的! C# 区分大小写 r["first_name"].toString() 会抛出异常
    【解决方案3】:
    Convert.ToString(myNonString); //  It's a casing issue.
    

    edit:您可能不想使用 .ToString() ,因为如果您要转换的值为 null ,它会生成 NullReferenceException ,并且静态 Convert.ToString() 将始终返回一个字符串(即使在空对象)

    【讨论】:

      【解决方案4】:

      为什么不直接在对象本身上调用ToString()

      new ListItem(r["first_name"].ToString())
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-27
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多