【问题标题】:Simple OddNums IEnumerable简单的 OddNums IEnumerable
【发布时间】:2015-03-26 12:14:01
【问题描述】:

在我们的学习资料中,我们有一个例子

 public static IEnumerable<int> OddNums(int n)
 {
    int i = –1;
    while (i < n – 1)
    {
       i += 2;  
       yield return i;
    }
  }

  static void Main(string[] args)
  {
    foreach (int i in OddNums(10))      
        Console.WriteLine("{0} ", i);
  }

但是它会在行上抛出错误

int i = –1;
while (i < n – 1)
  • 意外字符“-”
  • 无效的表达式术语''
  • ;预计
  • 只有赋值、调用、递增、递减、等待和新对象表达式可以用作语句

怎么了?

【问题讨论】:

  • 请包含错误信息。
  • 请注意- != 。前者是连字符,对代码有效。后者是一个破折号,它不是。如果将后者更改为前者可以解决您的问题,请告诉我,我会将其作为答案发布。
  • 你有没有从学习资料中复制粘贴?
  • 确实是复制粘贴的问题。有-而不是-。谢谢
  • Enumerable.Range(0, n).Select(i =&gt; i * 2 + 1);

标签: c# iterator ienumerable


【解决方案1】:

它的连字符而不是减号...

这里用减号代替:

 int i = -1;

这里:

while (i < n - 1)

【讨论】:

    【解决方案2】:

    在您的代码中,您期望 - 是一个 减号 符号,最终似乎是一个 – 连字符

    尝试通过删除它然后再次输入来更改它。

    while (i < n - 1)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-03-02
      • 2011-02-21
      • 2011-04-25
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多