【问题标题】:Filling table by yield return按收益率填表
【发布时间】:2020-08-04 09:02:37
【问题描述】:

一个月前我开始使用 C# 进行冒险。你能帮我解决下面的问题吗? 如何将 Yield return 得到的结果插入到表中?就结果而言,我得到的表格由相同的最后生成的值 (10+5=15) 填充。我需要的是通过yield return函数逐步生成一系列结果。

public class Obliczenia
{
   // double P1, P2, V, S, R, P1a, Sa, Va;
   public IEnumerable<double> Wyniki
   {
       get
       {
           for (double Rf = 0; Rf <= 10; Rf += 1)
           {
               yield return Rf + 5; // finally here will be more complicated equation
           }
       }
   }
}


string[] tablica1 = new string[100];
Obliczenia o = new Obliczenia();

foreach (double wynik in o.Wyniki)
{
   for (int i = 0; i < 9; ++i)
   {
       tablica1[i] = wynik.ToString();  // I think, something wrong is here.
   }
}

【问题讨论】:

  • 您在每次迭代中都覆盖了数组元素。您应该在每次迭代中将 i 更新为新值。
  • 你/任何人能告诉我在这种情况下该怎么做吗?
  • @Kamran 最后我找到了如何将结果插入到列表中:List&lt;double&gt; Lista = new List&lt;double&gt;(); Obliczenia o = new Obliczenia(); foreach (double wynik in o.Wyniki) { Lista.Add(wynik); } 但是,我不知道如何使用表格来做到这一点......

标签: c# datatable yield-return


【解决方案1】:

我想这就是你想要的:

string[] tablica1 = new string[100];
Obliczenia o = new Obliczenia();

var k = 0;

foreach (double wynik in o.Wyniki)
{                
    tablica1[k] = wynik.ToString();
    k++;                               
}

【讨论】:

  • 谢谢@Kamran。
猜你喜欢
  • 2010-12-21
  • 2011-05-14
  • 2013-09-28
  • 2012-11-26
  • 2014-03-21
  • 1970-01-01
  • 2015-04-29
  • 2011-04-20
  • 1970-01-01
相关资源
最近更新 更多