Mengapa Anda membutuhkan array kosong? Apa yang sedang Anda coba lakukan?
Tn.
7
@ MR. tidak benar-benar relevan dengan pertanyaan itu.
James
1
@ James - mungkin ada cara yang lebih elegan untuk melakukan apa pun yang dia coba lakukan.
Tn.
4
@ aquanat - walaupun jawaban telah diterima dan saya tidak tahu kode atau logika di baliknya, saya akan dengan rendah hati menyarankan Anda untuk tidak mengembalikan array kosong tetapi null dan periksa dari fungsi panggilan jika nilai yang dikembalikan adalah nol atau tidak. Saya pikir itu akan jauh lebih elegan, mudah dibaca dan efisien.
Tn.
2
Alasan Anda tidak ingin mengembalikan nol adalah karena konsumen metode ini harus memeriksa nol. Sebagai contoh, konsumen metode dapat menempatkan nilai yang dikembalikan dalam foreach dan jika array kosong dikembalikan, tidak ada masalah. Namun, jika null dikembalikan, harus ada cek untuk null sebelum mengulangi nilai yang dikembalikan
Terima kasih semuanya ... jangan tanya kenapa, tapi satu-satunya cara adalah: string [] arr = new String [0] as string [];
aquanat
2
Metode Atish bekerja dan menghilangkan keluhan studio visual tentang penggunaan variabel yang tidak diinisialisasi jika saya tetapkan dalam pernyataan if
Mengapa string dikapitalisasi dan tidak dikapitalisasi dalam contoh Anda?
Notalie.
1
@newStackExchangeInstance, cukup salin kode "apa adanya" dari pertanyaan. Kedua baris mengkompilasi dengan baik, meskipun saya setuju bahwa mengikuti satu gaya lebih baik.
Andrei
15
Jika Anda menggunakan .net 4.6, mereka memiliki beberapa sintaks baru yang dapat Anda gunakan:
using System;// To pick up definition of the Array class.var myArray =Array.Empty<string>();
Tidak perlu mengedit jawaban ini, karena jawaban melayani tujuan gereral, dan bukan pertanyaan spesifik per katakan. Itu menjawab "Apa sintaks untuk menyatakan dan menginisialisasi array" dan merupakan kutipan dari tautan yang saya posting. OP dapat menggantikan intdengan stringjika dia suka.
CodeCaster
1
Sintaks Anda tidak valid.
string[] arr =newstring[5];
Itu akan membuat arr, array string yang dirujuk, di mana semua elemen array ini berada null. (Karena string adalah tipe referensi )
Array ini berisi elemen dari arr[0]hingga arr[4]. The newoperator yang digunakan untuk membuat array dan menginisialisasi elemen array ke nilai standar. Dalam contoh ini, semua elemen array diinisialisasi ke null.
Jawaban:
Coba ini
sumber
c# Array.Empty<string>()
Sintaks Anda salah:
atau
sumber
Jika Anda menggunakan .net 4.6, mereka memiliki beberapa sintaks baru yang dapat Anda gunakan:
sumber
Anda bisa mencoba ini
sumber
Konstruktor array berbeda. Berikut ini beberapa cara untuk membuat array string kosong:
(maaf, di ponsel)
sumber
Hal-hal keriting kadang-kadang sulit diingat, itu sebabnya ada dokumentasi yang sangat baik :
sumber
int
denganstring
jika dia suka.Sintaks Anda tidak valid.
Itu akan membuat
arr
, array string yang dirujuk, di mana semua elemen array ini beradanull
. (Karena string adalah tipe referensi )Array ini berisi elemen dari
arr[0]
hinggaarr[4]
. Thenew
operator yang digunakan untuk membuat array dan menginisialisasi elemen array ke nilai standar. Dalam contoh ini, semua elemen array diinisialisasi kenull
.Single-Dimensional Arrays (C# Programming Guide)
sumber
Jika Anda harus membuat array kosong, Anda dapat melakukan ini:
Jika Anda tidak tahu tentang ukuran maka Anda juga dapat menggunakan
List<string>
juga sepertisumber
Berikut ini akan berfungsi dengan baik.
sumber