Mungkin yang benar-benar sederhana ini - I'm dimulai dengan C# dan perlu untuk menambahkan nilai ke array, misalnya:
int[] terms;
for(int runs = 0; runs < 400; runs++)
{
terms[] = runs;
}
Bagi mereka yang telah menggunakan PHP, di sini's apa yang saya'm mencoba untuk melakukan di C#:
$arr = array();
for ($i = 0; $i < 10; $i++) {
$arr[] = $i;
}
Anda dapat melakukan cara ini -
int[] terms = new int[400];
for (int runs = 0; runs < 400; runs++)
{
terms[runs] = value;
}
Atau, anda dapat menggunakan Daftar - keuntungan dengan daftar ini, anda don't perlu untuk mengetahui ukuran array ketika instantiating daftar.
List<int> termsList = new List<int>();
for (int runs = 0; runs < 400; runs++)
{
termsList.Add(value);
}
// You can convert it back to an array if you would like to
int[] terms = termsList.ToArray();
Jika anda'kembali menulis di C# 3, anda dapat melakukannya dengan one-liner:
int[] terms = Enumerable.Range(0, 400).ToArray();
Potongan kode ini mengasumsikan bahwa anda telah menggunakan petunjuk untuk Sistem.Linq di bagian atas file anda.
Di sisi lain, jika anda'kembali mencari sesuatu yang dapat diubah ukurannya secara dinamis, seperti yang muncul adalah kasus untuk PHP (I've tidak pernah benar-benar belajar itu), maka anda mungkin ingin menggunakan Daftar
List<int> terms = Enumerable.Range(0, 400).ToList();
Catatan, bagaimanapun, bahwa anda tidak bisa hanya menambahkan 401st elemen dengan menetapkan syarat-syarat[400] untuk sebuah nilai. Anda'd malah perlu untuk memanggil Add(), seperti ini:
terms.Add(1337);
Jawaban tentang cara untuk melakukannya dengan menggunakan sebuah array yang disediakan di sini.
Namun, C# memiliki hal yang sangat berguna yang disebut Sistem.Koleksi :)
Koleksi mewah alternatif untuk menggunakan sebuah array, meskipun banyak dari mereka menggunakan array secara internal.
Misalnya, C# memiliki koleksi yang disebut Daftar yang fungsinya sangat mirip dengan array 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);
}
Berdasarkan jawaban dari Thracx (I don't memiliki cukup poin untuk menjawab):
public static T[] Add<T>(this T[] target, params T[] items)
{
// Validate the parameters
if (target == null) {
target = new T[] { };
}
if (items== null) {
items = new T[] { };
}
// Join the arrays
T[] result = new T[target.Length + items.Length];
target.CopyTo(result, 0);
items.CopyTo(result, target.Length);
return result;
}
Hal ini memungkinkan untuk menambahkan lebih dari satu item ke dalam array, atau hanya melewatkan array sebagai parameter untuk bergabung dengan dua array.
Menggunakan Daftar
Metode yang paling efisien adalah mungkin mengalokasikan array, dan kemudian menggunakan Array.Copy atau Array.CopyTo. Hal ini tidak sulit jika anda hanya ingin menambahkan item ke akhir daftar:
public static T[] Add<T>(this T[] target, T item)
{
if (target == null)
{
//TODO: Return null or throw ArgumentNullException;
}
T[] result = new T[target.Length + 1];
target.CopyTo(result, 0);
result[target.Length] = item;
return result;
}
Saya juga dapat mengirim kode untuk Menyisipkan metode penyuluhan yang mengambil tujuan index sebagai masukan, jika diinginkan. It's sedikit lebih rumit dan menggunakan metode statis Array.Copy 1-2 kali.
C# array yang panjang tetap dan selalu diindeks. Pergi dengan tempat motti's solusi:
int [] terms = new int[400];
for(int runs = 0; runs < 400; runs++)
{
terms[runs] = value;
}
Catatan bahwa ini array adalah array yang padat, bersebelahan blok dari 400 byte di mana anda dapat menjatuhkan sesuatu. Jika anda ingin secara dinamis berukuran array, menggunakan Daftar<int>.
List<int> terms = new List<int>();
for(int runs = 0; runs < 400; runs ++)
{
terms.Add(runs);
}
Tidak int[] atau Daftar<int> adalah array asosiatif-yang akan menjadi Kamus<> dalam C#. Kedua array dan daftar padat.
int[] terms = new int[10]; //create 10 empty index in array terms
//fill value = 400 for every index (run) in the array
//terms.Length is the total length of the array, it is equal to 10 in this case
for (int run = 0; run < terms.Length; run++)
{
terms[run] = 400;
}
//print value from each of the index
for (int run = 0; run < terms.Length; run++)
{
Console.WriteLine("Value in index {0}:\t{1}",run, terms[run]);
}
Console.ReadLine();
/*Output:
Nilai indeks 0: 400
Nilai indeks 1: 400
Nilai indeks 2: 400
Nilai indeks 3: 400
Nilai indeks 4: 400
Nilai indeks 5: 400
Nilai indeks 6: 400
Nilai indeks 7: 400
Nilai indeks 8: 400
Nilai indeks 9: 400
*/
Anda dapat't hanya menambahkan sebuah elemen ke array dengan mudah. Anda dapat mengatur elemen pada posisi tertentu sebagai fallen888 diuraikan, tapi saya sarankan untuk menggunakan Daftar<int>
atau Koleksi<int>
bukan, dan menggunakan ToArray()
jika anda perlu dikonversi ke dalam sebuah array.
Hanya pendekatan yang berbeda:
int runs = 0;
bool batting = true;
string scorecard;
while (batting = runs < 400)
scorecard += "!" + runs++;
return scorecard.Split("!");
Jika anda benar-benar membutuhkan sebuah array berikut adalah probly yang paling sederhana:
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();
Jika anda don't mengetahui ukuran Array atau sudah memiliki sebuah array yang ada bahwa anda menambahkan ke. Anda dapat pergi tentang hal ini dalam dua cara. Yang pertama adalah dengan menggunakan generic Daftar<T>
:
Untuk melakukan ini, anda akan ingin mengkonversi array ke var termsList = syarat.Kedaftar();
dan menggunakan metode Add. Kemudian ketika dilakukan menggunakan var syarat = termsList.ToArray();
metode untuk mengkonversi kembali untuk sebuah array.
var terms = default(int[]);
var termsList = terms == null ? new List<int>() : terms.ToList();
for(var i = 0; i < 400; i++)
termsList.Add(i);
terms = termsList.ToArray();
Cara kedua adalah mengubah ukuran array saat ini:
var terms = default(int[]);
for(var i = 0; i < 400; i++)
{
if(terms == null)
terms = new int[1];
else
Array.Resize<int>(ref terms, terms.Length + 1);
terms[terms.Length - 1] = i;
}
Jika anda menggunakan .NET 3.5 Array.Add(...);
Kedua hal ini akan memungkinkan anda untuk melakukannya secara dinamis. Jika anda akan menambahkan banyak item kemudian hanya menggunakan Daftar<T>
. Jika itu's hanya beberapa item maka akan memiliki kinerja yang lebih baik mengubah ukuran array. Hal ini karena anda mengambil lebih dari satu hit untuk membuat Daftar<T>
objek.
Kali di kutu:
3 item
Array Resize Waktu: 6
klik disini untuk Menambah Waktu: 16
400 item
Array Resize Waktu: 305
klik disini untuk Menambah Waktu: 20
static void Main(string[] args)
{
int[] arrayname = new int[5];/*arrayname is an array of 5 integer [5] mean in array [0],[1],[2],[3],[4],[5] because array starts with zero*/
int i, j;
/*initialize elements of array arrayname*/
for (i = 0; i < 5; i++)
{
arrayname[i] = i + 100;
}
/*output each array element value*/
for (j = 0; j < 5; j++)
{
Console.WriteLine("Element and output value [{0}]={1}",j,arrayname[j]);
}
Console.ReadKey();/*Obtains the next character or function key pressed by the user.
The pressed key is displayed in the console window.*/
}