F # tiene secuencias que permite crear secuencias:¿Cómo crear una matriz con secuencia de enteros en C#?
seq { 0 .. 10 }
Crear secuencia de números del 0 al 10.
¿Hay algo similar en C#?
F # tiene secuencias que permite crear secuencias:¿Cómo crear una matriz con secuencia de enteros en C#?
seq { 0 .. 10 }
Crear secuencia de números del 0 al 10.
¿Hay algo similar en C#?
Enumerable.Range(0, 11);
Genera una secuencia de números enteros dentro de un rango especificado.
http://msdn.microsoft.com/en-us/library/system.linq.enumerable.range.aspx
Se puede crear una función simple. Esto funcionaría para una secuencia más complicada. De lo contrario, el Enumerable.Range
debería hacer.
IEnumerable<int> Sequence(int n1, int n2)
{
while (n1 <= n2)
{
yield return n1++;
}
}
Wow, esto me hizo entender cómo funciona el 'rendimiento': D – v01pe
Mi aplicación:
private static IEnumerable<int> Sequence(int start, int end)
{
switch (Math.Sign(end - start))
{
case -1:
while (start >= end)
{
yield return start--;
}
break;
case 1:
while (start <= end)
{
yield return start++;
}
break;
default:
yield break;
}
}
Nota: Esto crea una secuencia de arranque a 0 con 10 artículos (que terminan a las 9). Si desea 0 * a * 10, el segundo parámetro sería 11. Y si necesita una matriz real y no 'IEnumerable', incluya una llamada '.ToArray()'. –