【问题标题】:Cannot implicity convert type 'int' to 'string'无法将类型“int”隐式转换为“string”
【发布时间】:2013-06-03 09:02:27
【问题描述】:
    Random randgen = new Random();
    int dkey;
    public object SetScore(int val)
    {
        dkey=randgen.Next(int.MaxValue/2);
        return val ^ dkey;                //^ means XOR.
    }
    public string GetScore(int val)
    {
        return val ^ dkey;
        GC.Collect();
    }

public string GetScore(int val) { return val ^ dkey; GC.Collect(); } return val ^ dkey 显示错误

无法将类型“int”隐式转换为“string”

【问题讨论】:

  • return (val ^ dkey).ToString();? - 为什么你有GC.Collect(); 返回? return 之后的所有内容都被编译器丢弃,因此该行将永远不会被执行。
  • 你想从 GetScore() 返回一个字符串还是一个 int?
  • 编译器错误告诉你出了什么问题。您是否无法理解错误的含义?

标签: c# xor


【解决方案1】:

您的GetScore 方法返回一个字符串,但val ^ dkey 是一个整数。将结果转换为字符串:

return (val ^ dkey).ToString();

或返回一个整数:

public int GetScore(int val) ...

哦,请取消对GC.Collect() 的呼叫。自己调用它几乎从来都不是一个好主意。至少它被小心地放在了一个无法到达的地方......

【讨论】:

    【解决方案2】:

    快速解决方案:

    return "" + (val ^ dkey);  
    

    【讨论】:

      【解决方案3】:
      return (val ^ dkey).ToString()
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-08-17
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2020-12-31
        • 1970-01-01
        相关资源
        最近更新 更多