如何使用特定值快速填充数组?

时间:2011-02-23 09:32:55

标签: .net arrays

Array.Clear()使用默认值(整数为零)填充数组,我想用-1填充它。

感谢。

6 个答案:

答案 0 :(得分:16)

另一种方式是:

int[] arr =  Enumerable.Repeat(-1, 10).ToArray();
Console.WriteLine(string.Join(",",arr));

答案 1 :(得分:3)

我不知道这种方法。不过你可以自己写一个:

public static void Init<T>(this T[] array, T value)
{
    for(int i=0; i < array.Length; ++i)
    {
        array[i] = value;
    }
}

您可以这样称呼它:

int[] myArray = new int[5];
myArray.Init(-1);

答案 2 :(得分:0)

一种无需使用方法即可实现的方法。

int[,] array = new int[,]{{0, -1},{-1, 0}}; Console.WriteLine(array[0, 0]); Console.WriteLine(array[0, 1]);

答案 3 :(得分:0)

例如数组 'test' 用最小值填充,所以以下是代码:

Array.Fill(test,int.MinValue)

答案 4 :(得分:0)

JAVASCRIPT 语言中,您可以遵循此语法

const array = Array(5).fill(false); // [false, false, false, false, false]
const array = [...Array(5).keys()] // [0, 1, 2, 3, 4, 5]

答案 5 :(得分:0)

在 VB.NET 中只需制作一个 CompilerExtension 和模板

Imports System.Runtime.CompilerServices

<Extension>
Public Sub Fill(Of T)(buffer() As T, value As T)
    For i As Integer = 0 To buffer.Length - 1 : buffer(i) = value : Next
End Sub

你可以在任何这样的数组上使用它

Public MyByteBuffer(255) as Byte
Public MyDoubleBuffer(20) as Double

MyByteBuffer.Fill(&HFF)
MyDoubleBuffer.Fill(1.0)