如何在强类型语言中迭代两个数组?

时间:2011-10-08 18:33:07

标签: arrays strong-typing

我有多种语言的问题,但我从来没有碰巧过这个问题。我只搜索了问题,但很少得到结果。

我明白了,但我想确保这是最好的方式。

让我们举一个例子:(我会尽可能地使它成为一般的,以便它可以用于所有语言。)

firstArray[0] = 1;
firstArray[1] = 2;
firstArray[2] = 3;

secondArray[0] = 'a';
secondArray[1] = 'b';
secondArray[2] = 'c';

现在让我们想象一下这两个数组是否都是无穷无尽的。

如果我想获得这些结果:

1a
2b
3c

然后我可以写这个吗?:

for (int i=0; i < 3; i++)
{
print(firstArray[i] + secondArray[i]);
}

2 个答案:

答案 0 :(得分:0)

是的,你可以这样做,只要这两个数组都不比你正在迭代的范围短,并且两者都包含可以使用+运算符添加或不添加的类型。

答案 1 :(得分:0)

您的问题标题是否可以使用强类型语言。以下是维基百科提到的关于强类型http://en.wikipedia.org/wiki/Strong_typing的内容(查看串联字符串和整数的示例)。如果这是你要问的那么答案是否定的。你不能用强类型语言来做这件事。

E.g。你不能用Python做这个(我相信Python是强类型的)



a = [1,2,3]
b = ['a','b','c']

for i in xrange(len(a)):
    print (a[i]+b[i])


您必须为操作员类型转换为通用兼容类型。



a = [1,2,3]
b = ['a','b','c']

for i in xrange(len(a)):
    print (str(a[i]) + b[i])


这在C和C ++中也是不可能的。