C# 如何使用for循环初始化T[]arr类型的数组

C# 如何使用for循环初始化T[]arr类型的数组,c#,.net,C#,.net,如何初始化此泛型类的数组请帮助 public class MarvellousArray<T> { private T[] array; public MarvellousArray(int size) { array = new T[size]; } public void Accept() { var i = 0; for (i = 0; i < array.Length

如何初始化此泛型类的数组请帮助

 public class MarvellousArray<T>
 {
    private T[] array;

    public MarvellousArray(int size)
    {
        array = new T[size];
    }
    public void Accept()
    {

        var i = 0;
        for (i = 0; i < array.Length; i++)
        {

        }
    }
    public void Display()
    {

    } 
}
公共类数组
{
私有T[]数组;
公共数组(整数大小)
{
数组=新的T[大小];
}
公开无效接受()
{
var i=0;
对于(i=0;i
如果我明白你的意思。。。如果需要
new
T

public class MarvellousArray<T>
   where T : new()
{
   private readonly T[] _array;

   public MarvellousArray(int size)
   {
      _array = new T[size];

      for (var i = 0; i < size; i++)
         _array[i] = new T();

   }

   ...

如果要初始化任何数组,有完整的数组Initilazier语法:

问题是您想用什么来初始化它

默认值是多少?ckuri指出,在大多数情况下,数组已经用它初始化了

特定值

public static void setAll(int[] array, int value){
  for(int i = 0; i<array.Lenght;i++)
    array[i]=value;
}
publicstaticvoidsetall(int[]数组,int值){

for(int i=0;i您到底想实现什么?我想使用for loopIn在循环中初始化数组,只需分配元素:
array[i]=MakeTheValue(…)
对于这可能有什么用途也有点困惑,但这段代码没有任何编译时问题。我只是通过创建一个实例来尝试:
[TestMethod]public void Aaa(){var ma=new mavellousarray(3);ma.Accept();}
并通过将其插入循环体来使用它:
Debug.Print(数组[i].ToString())
没有问题!什么都不起作用。但是,用元素的默认值初始化数组对我来说似乎是徒劳的,因为这是数组已经初始化的开始。
public static void setAll(int[] array, int value){
  for(int i = 0; i<array.Lenght;i++)
    array[i]=value;
}