【问题标题】:Error: is a 'field' but is used like a 'type' c#错误:是“字段”,但用作“类型”c#
【发布时间】:2012-06-26 20:59:48
【问题描述】:

我有一个全局变量averagel,我试图在一个方法中对其进行操作。编译器对我设置值 averagel = averagel / (xrestriction * yrestriction); 没有问题,但由于某种原因,当我尝试使用它来设置另一个变量时它不喜欢它:

inside = (inside + averagel * (xrestriction * yrestriction)) - 2 * (averagel)(suml);

仅在我尝试使用av​​eragel 的值来设置另一个int 的行上,它才会返回错误'sqlDataReader.ReaderDemo.averagel' is a 'field',但用作'type'。我还尝试将方法中的 int 设置为 averagel 的值,然后尝试使用该值来设置我的内部变量,但返回错误“找不到类型或命名空间名称‘test’(您是否缺少using 指令还是程序集引用?)”,而我之前所做的只是声明 int test=averagel;

有什么想法吗?

【问题讨论】:

  • 发布编译器错误源代码...

标签: c# types int field global


【解决方案1】:

你可能需要一个星号:

inside = (inside + averagel * (xrestriction * yrestriction)) - 2 * averagel * suml; 

在 C# 中不能像在数学中那样将两个值相乘。例如。 (averagel)(suml) 在数学方程式中是有意义的,但您必须在 C# 中编写 averagel * suml

【讨论】:

  • 打败我... :-),是的,它认为这是一个演员表。
  • 伙计们,你们摇滚!那太快了! :) 一定要喜欢堆栈溢出。
【解决方案2】:

你的括号弄错了,并且不小心在表达式中包含了类型转换。最后一点

(averagel) (suml)

尝试将suml 转换为averagel,因此编译器有权投诉。我怀疑您在这两个术语之间缺少一个运算符。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-30
    • 1970-01-01
    • 2018-03-28
    • 2016-07-18
    相关资源
    最近更新 更多