可能是一个非常简单的一个-我开始用c#和需要添加值到一个数组,例如:
int[] terms;
for(int runs = 0; runs < 400; runs++)
{
terms[] = runs;
}
对于那些使用过PHP的人,下面是我试图在c#中做的事情:
$arr = array();
for ($i = 0; $i < 10; $i++) {
$arr[] = $i;
}
可能是一个非常简单的一个-我开始用c#和需要添加值到一个数组,例如:
int[] terms;
for(int runs = 0; runs < 400; runs++)
{
terms[] = runs;
}
对于那些使用过PHP的人,下面是我试图在c#中做的事情:
$arr = array();
for ($i = 0; $i < 10; $i++) {
$arr[] = $i;
}
当前回答
如果你真的需要一个数组,下面可能是最简单的:
using System.Collections.Generic;
// Create a List, and it can only contain integers.
List<int> list = new List<int>();
for (int i = 0; i < 400; i++)
{
list.Add(i);
}
int [] terms = list.ToArray();
其他回答
我将为另一个变体添加这个。我更喜欢这种类型的函数编码行。
Enumerable.Range(0, 400).Select(x => x).ToArray();
这里提供了关于如何使用数组来做到这一点的答案。
然而,c#有一个非常方便的东西叫做System。集合
集合是使用数组的理想替代品,尽管其中许多在内部使用数组。
例如,c#有一个名为List的集合,其功能与PHP数组非常相似。
using System.Collections.Generic;
// Create a List, and it can only contain integers.
List<int> list = new List<int>();
for (int i = 0; i < 400; i++)
{
list.Add(i);
}
c#数组是固定长度的,并且总是有索引。遵循Motti的解决方案:
int [] terms = new int[400];
for(int runs = 0; runs < 400; runs++)
{
terms[runs] = value;
}
请注意,这个数组是一个密集数组,一个400字节的连续块,您可以在其中删除内容。如果你想要一个动态大小的数组,使用List<int>。
List<int> terms = new List<int>();
for(int runs = 0; runs < 400; runs ++)
{
terms.Add(runs);
}
int[]和List<int>都不是关联数组——这在c#中是Dictionary<>。数组和列表都是密集的。
如果你用c# 3编写代码,你可以用一行代码来实现:
int[] terms = Enumerable.Range(0, 400).ToArray();
这段代码片段假设您有一个System的using指令。Linq在你的文件顶部。
另一方面,如果您正在寻找可以动态调整大小的东西,这似乎是PHP的情况(我实际上从未学习过它),那么您可能希望使用List而不是int[]。下面是代码的样子:
List<int> terms = Enumerable.Range(0, 400).ToList();
但是请注意,不能通过设置terms[400]来简单地添加第401个元素。相反,你需要像这样调用Add():
terms.Add(1337);
一种方法是通过LINQ填充数组
如果你想用一个元素填充一个数组 你可以简单地写
string[] arrayToBeFilled;
arrayToBeFilled= arrayToBeFilled.Append("str").ToArray();
此外,如果你想用多个元素填充一个数组,你可以使用 循环中的前面代码
//the array you want to fill values in
string[] arrayToBeFilled;
//list of values that you want to fill inside an array
List<string> listToFill = new List<string> { "a1", "a2", "a3" };
//looping through list to start filling the array
foreach (string str in listToFill){
// here are the LINQ extensions
arrayToBeFilled= arrayToBeFilled.Append(str).ToArray();
}