生成具有步长值的序列

Sur*_*esh 7 .net c# linq

我有以下输入:

double zmin;
double zmax;
int count;
int N; //Total number of element in result array
Run Code Online (Sandbox Code Playgroud)

我想生成一个双数组序列,其中zmin为第一个值,zmax为最后一个值.但是从第二个值到最后一个,但它应该被(zmax-zmin)/ count所左右.

例:

zmin = 1;
zmax = 10;
count = 3
Run Code Online (Sandbox Code Playgroud)

预期结果:

double[] result = { 1, 4, 7, 10}
Run Code Online (Sandbox Code Playgroud)

我的尝试:

double[] result = Enumerable.Repeat(zmin, N).Select(iv => (iv +(zmax-zmin)/count)).ToArray();
Run Code Online (Sandbox Code Playgroud)

Muh*_*han 12

public static IEnumerable<double> Range(double min, double max, double step)
{
    double i;
    for (i=min; i<=max; i+=step)
        yield return i;

    if (i != max+step) // added only because you want max to be returned as last item
        yield return max; 
}
Run Code Online (Sandbox Code Playgroud)