c# - "Can' t 从类型 "Blah"隐式转换为类型 'string'

标签 c# struct xamarin

我在 C# 中使用结构从函数返回两个变量。我宣布了新结构“解决方案”,现在我正在尝试设置我的所有分配。但是,当将我可能的结果之一设置为结构成员时,它说我不能隐式转换类型,但是根据结构成员的定义,它们都应该是字符串。

我哪里做错了?

}
    Solution quadratic (int a, int b, int c)
    {
        d = Convert.ToInt32(Math.Pow (b, 2)) - (4 * a * c);
        if (d < 0) {
            Solution fail;
            fail.solution1 = fail;
            fail.solution2 = fail;
            return(fail);
        } else{
            Solution solutions;
            solutions.solution1 = Convert.ToString((-1 * b + Convert.ToInt32(Math.Sqrt (d))) / (2 * a));
            solutions.solution2 = Convert.ToString((-1 * b - Convert.ToInt32(Math.Sqrt (d))) / (2 * a));
            return(solutions);
        }
    }
    public struct Solution
    {
        public string solution1;
        public string solution2;
    }
}

更新:我做了一件蠢事。我将新的“解决方案”结构命名为“失败”,这也恰好是我试图分配给它的字符串的名称。小心你的变量名, children

最佳答案

你的问题在这里:

fail.solution1 = fail; 
fail.solution2 = fail;

您正在尝试将变量 fail(解决方案类型)分配给变量 fail.solution1 和 fail.solution2(字符串类型)。

关于c# - "Can' t 从类型 "Blah"隐式转换为类型 'string',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32159873/

相关文章:

c# - 如何从通知中心更新/删除通知?

c# - SqlDataAdapter 是否打开自己的连接?

List<T>.Count 上的 c# MongoDb 过滤器

C# Change If 切换,如何处理 "and"

c# - 获取锁并进一步尝试锁定不会阻止 : are C# locks re-entrant?

matlab - 如何从 mex 函数访问 matlab 结构域中的矩阵?

pointers - fmt.Printf() 格式说明符以默认格式打印指向结构的指针?

c - 如何在阅读时移入二进制文件?

c# - 检查或捕捉警告未能在 channel 上发布通知

xamarin - 如何避免 Xamarin.Android 构建中的异常 "Sharing violation on path/android/gms/R.java and/android/gms/base.R.java"?