标签: array-initialize

如何将数组的所有成员初始化为相同的值?

我在C中有一个大数组(如果有所不同,则不是C++).我想将所有成员初始化为相同的值.我发誓我曾经知道一个简单的方法来做到这一点.我可以memset()在我的情况下使用,但是没有办法在C语法中构建这样做吗?

c arrays array-initialize initialization

934
推荐指数
13
解决办法
179万
查看次数

在C++中的类初始值设定项中初始化const数组

我在C++中有以下类:

class a {
    const int b[2];
    // other stuff follows

    // and here's the constructor
    a(void);
}
Run Code Online (Sandbox Code Playgroud)

问题是,如何在初始化列表中初始化b,因为我无法在构造函数体内初始化它,因为b是const

这不起作用:

a::a(void) : 
    b([2,3])
{
     // other initialization stuff
}
Run Code Online (Sandbox Code Playgroud)

编辑:这个例子就是我可以b为不同的实例设置不同的值,但是已知这些值在实例的生命周期内是不变的.

c++ array-initialize initialization c++03

73
推荐指数
5
解决办法
12万
查看次数

如何在Fortran中初始化二维数组

在C中,如果我没记错的话,您可以使用花括号语法轻松初始化数组:

int* a = new int[] { 1, 2, 3, 4 };
Run Code Online (Sandbox Code Playgroud)

当您希望初始化具有特定测试值的矩阵用于数学目的时,如何在Fortran中对二维数组执行相同的操作?(无需对单独的语句中的每个元素进行双重索引)

该数组由.定义

real, dimension(3, 3) :: a
Run Code Online (Sandbox Code Playgroud)

要么

real, dimension(:), allocatable :: a
Run Code Online (Sandbox Code Playgroud)

arrays fortran array-initialize fortran90

30
推荐指数
3
解决办法
9万
查看次数

如何动态设置c#中的数组长度

我还是C#的新手,我一直在努力解决阵列上的各种问题.我有一组元数据对象(名称值对),我想知道如何只创建我真正需要的"InputProperty"对象的数量.在这个循环中,我任意设置元素的数量为20,当条目变为null时我试图挽救但是接收端的Web服务不喜欢传递给它的任何null元素:

private Update BuildMetaData(MetaData[] nvPairs)
{
    Update update = new Update();
    InputProperty[] ip = new InputProperty[20];  // how to make this "dynamic"
    int i;
    for (i = 0; i < nvPairs.Length; i++)
    {
        if (nvPairs[i] == null) break;
        ip[i] = new InputProperty();
        ip[i].Name = "udf:" + nvPairs[i].Name;
        ip[i].Val = nvPairs[i].Value;
    }
    update.Items = ip;
    return update;
}
Run Code Online (Sandbox Code Playgroud)

总之,假设我在上面的输入数组中只有3个名值对?不是为名为ip的数组分配20个元素,而是如何对此进行编码,以便ip只有它需要的大.更新对象通过另一个Web服务传递,因此序列化很重要(即我不能使用namevaluecollection等).

ps是通过"添加评论"工具跟踪已发布问题的唯一方法吗?

c# arrays array-initialize object

22
推荐指数
4
解决办法
16万
查看次数

使用默认构造函数初始化数组

public class Sample
{
     static int count = 0;
     public int abc;
     public Sample()
     {
        abc = ++Sample.count;
     }
}
Run Code Online (Sandbox Code Playgroud)

我想创建一个上面的类数组,并希望通过调用默认构造函数来初始化数组中的每个元素,以便每个元素可以有不同的abc.所以我这样做:

Sample[] samples = new Sample[100];
Run Code Online (Sandbox Code Playgroud)

但这并不符合我的想法.这似乎是默认构造函数没有被调用.如何在创建数组时调用默认构造函数?

我也想知道上面的陈述是做什么的?

c# arrays array-initialize default-constructor

19
推荐指数
3
解决办法
4万
查看次数

当您不知道大小时,如何初始化二维数组

我有一个二维数组,我需要加载数据.我知道数据的宽度(22个值),但我不知道高度(估计大约4000个记录,但变量).

我声明如下:

float[,] _calibrationSet;
    ....
int calibrationRow = 0;
While (recordsToRead)
{
  for (int i = 0; i < SensorCount; i++)
   {
     _calibrationSet[calibrationRow, i] = calibrationArrayView.ReadFloat();
   }
   calibrationRow++;
}
Run Code Online (Sandbox Code Playgroud)

这会导致NullReferenceException,所以当我尝试像这样初始化它时:

_calibrationSet = new float[,];
Run Code Online (Sandbox Code Playgroud)

我得到一个"数组创建必须有数组大小或数组初始化程序."

谢谢,基思

c# array-initialize

8
推荐指数
1
解决办法
2万
查看次数

在Delphi中,如何从接口类型数据初始化一个TGUID的const数组?

我想初始化一个这样的数组 -

Const MyArray : Array[0..0] Of TGUID = (IInterface);
Run Code Online (Sandbox Code Playgroud)

但它导致 -

[DCC Error] Test.pas(10): E2010 Incompatible types: 'TGUID' and 'string'
Run Code Online (Sandbox Code Playgroud)

那么看看会发生什么我试过这个 -

Const MyArray : Array[0..0] Of String = (IInterface);
Run Code Online (Sandbox Code Playgroud)

结果就是这个!

[DCC Error] Test.pas(10): E2010 Incompatible types: 'string' and 'TGUID'
Run Code Online (Sandbox Code Playgroud)

多么奇怪!当然,IInterface是一个或另一个,但它似乎顽固地转变为错误的类型.

delphi guid array-initialize interface

7
推荐指数
1
解决办法
3589
查看次数

C#:PointF()数组初始化器

我需要在C#程序中对一系列点进行硬编码.C风格的初始化程序不起作用.

PointF[] points = new PointF{
    /* what goes here? */
};
Run Code Online (Sandbox Code Playgroud)

怎么做?

c# arrays array-initialize

2
推荐指数
1
解决办法
1万
查看次数

在Java中设置char数组的大小

我正在开发一个Android应用程序.

我想将大小设置为这样的char数组:

public char[5] language;
Run Code Online (Sandbox Code Playgroud)

但它不起作用.我必须删除第五个才能使它工作.

我想限制为语言变量的五个字符.我怎样才能做到这一点?

谢谢.

java android array-initialize invariants

2
推荐指数
2
解决办法
3万
查看次数