【问题标题】:C# convert a number into wordsC# 将数字转换为单词
【发布时间】:2013-03-22 18:13:25
【问题描述】:

我这里有这个私人空白

private void NumbersToWords(int number)
    {
        string word;
        if (number == 8)
        {
            word = "Eight";
        }
        return word;
    }

我在另一个私人空间中称呼它

lblDaysToGo.Text = NumbersToWords(info.DaysToGo.ToString());

但我收到此错误....我做错了什么?

Cannot implicitly convert type 'void' to 'string' 

【问题讨论】:

  • private void NumbersToWords(int number) 现在来吧..你需要将 void 更改为 string private string NumbersToWords(int number)
  • 在你修复了返回string的方法之后,你需要修复你调用它的地方以传递int而不是string
  • 这是基本的编程概念,我建议您进行一些补救阅读MSDN C# Void
  • 作为 void 的方法不返回任何值。所以你返回word 的值是没有意义的。

标签: c# int void


【解决方案1】:

您正试图从 void 函数返回 string。您需要将功能更改为:

private string NumbersToWords(int number)

一旦你覆盖了它,你就需要改变:

lblDaysToGo.Text = NumbersToWords(info.DaysToGo.ToString());

当你应该传递int时,你传递了string

【讨论】:

    【解决方案2】:

    改变你的方法

    private string NumbersToWords(int number)
    {
        string word = "";
        if (number == 8)
        {
            word = "Eight";
        }
        return word;
    }
    

    之前您没有返回值,由void 指示。

    【讨论】:

    • 嘿,现在我收到一个新错误Use of unassigned local variable 'word'
    • 我复制了代码,忘记更改了。顺便说一句,我添加了一个更改
    • 我没有投反对票,我投了赞成票,它将被检查为正确:)
    【解决方案3】:

    该错误非常具有描述性 - 您可以使用 void 作为类型的唯一位置是方法的返回类型,因此这是第一个查看的位置。

    你的函数的返回类型是void。您正在尝试从中返回 string

    将返回类型改为string

    private string NumbersToWords(int number)
    

    【讨论】:

      猜你喜欢
      • 2017-03-08
      • 2011-02-13
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多