【问题标题】:Operator `*' cannot be applied to operands of type `System.Collections.Generic.List<double>' and `double' [closed]运算符“*”不能应用于“System.Collections.Generic.List<double>”和“double”类型的操作数[关闭]
【发布时间】:2015-07-31 02:10:39
【问题描述】:

我正在尝试做一个简单的数学方程式,但是,当我尝试使用“*”时,它会抛出错误

错误 CS0019:运算符 *' cannot be applied to operands of typeSystem.Collections.Generic.List' 和 `double'

代码示例:

public static List<string> items = new List<string> ();
public static List<double> itemsprice = new List<double>();
public static List<double> qu = new List<double>();
int i = 0;
        double price = 0;
        while(i != items.Count){
            price = itemsprice[1];
            ticksales = qu * pricepoint / 2; // Error on this line
            income = income + ticksales * price;

        }

【问题讨论】:

  • 嗯,是的。 qu 是双打列表。如何将一个数字列表乘以一个数字?
  • @Blorgbeard 有人可能会问为什么它对vectors 有效?一般来说,我认为希望通过一个数字来多个数字列表没有错,因为它是向量上的标准操作。授予 OP 不太可能寻找那个。 (事实上​​,我知道乘法必须产生新的 List ,这很昂贵,最好是显式调用而不是*

标签: c# .net arraylist


【解决方案1】:

这是因为qu 是一个双精度类型的列表,而您正试图将其相乘。看来你想做的是qu[i] * pricepoint/2;

您还应该在循环结束时增加i,否则它将永远运行。

【讨论】:

  • 真的OP应该用for循环...
【解决方案2】:

qu 是一个列表。你认为list * pricepoint / 2 等于什么? (我们不知道 BTW 的价格点是多少)

【讨论】:

    【解决方案3】:

    au 是一个列表,您必须提供要访问的项目的索引。最后你必须增加索引。

    ticksales = qu[i] * (pricepoint / 2)
    

    最后是i++;

    【讨论】:

      猜你喜欢
      • 2011-04-03
      • 1970-01-01
      • 1970-01-01
      • 2023-04-07
      • 1970-01-01
      • 1970-01-01
      • 2019-08-23
      • 2015-08-12
      • 1970-01-01
      相关资源
      最近更新 更多