Benim C # PHP bu 2d dizi kodu dönüştürmek Yardım

3 Cevap

Benim C # PHP bu kod örneği yeniden yazmak yardım lütfen:

$stringArray = array();
$stringArray['field1'] = 'value1';
$stringArray['field2'] = 'value2';
$stringArray['field3'] = 'value3';

foreach ($stringArray as $key => $value)
{
    echo $key . ': ' . $value;
    echo "\r\n";
}

3 Cevap

var map = new Dictionary<String, String>
              {
                  { "field1", "value1" },
                  { "field2", "value2" },
                  { "field3", "value3" }
              }

Veya koleksiyon başlatıcı olmadan.

var map = new Dictionary<String, String>();

map["field1"] = "value1";
map["field2"] = "value2";
map["field3"] = "value3";

Hatta özel bir sınıf StringDictionary dizeleri dize eşleştirmek için orada sık sık ad System.Collections.Specialized gözden kaçan, ancak bu arabirimleri zengin bir dizi uygulayan çünkü Dictionary<TKey, TValue> tercih ederim.

Sen bir ilişkisel dizi yeniden çalışıyoruz - C # Ben genellikle bir Dictionary kullanmak

Dictionary<string,string> stringArray = new Dictionary<string,string>();

ve daha sonra iki şekilde değerler atayabilirsiniz

stringArray["field1"] = "value1";
stringArray.Add("field2","value2");

Sözlükler gibi herhangi bir anahtar / değer çifti kombinasyonunu depolamak için kullanılabilir:

Dictionary<int,string>()
Dictionary<long,KeyValuePair<string,long>>()
etc.

Kesinlikle sadece bir dize olan bir değeri iade edilecektir bir dize olan bir anahtara ihtiyacınız olduğunu biliyoruz, o zaman da bir NameValueCollection kullanabilirsiniz

NameValueCollection stringArray = new NameValueCollection();

ve tekrar değerler eklemek için aynı iki yöntem kullanabilirsiniz

stringArray["field1"] = "value1";
stringArray.Add("field2","value2");

Hem datatypes zamanda gibi diğer kolaylık yöntemleri var

stringArray.Clear(); // make it empty
stringArray.Remove("field1"); // remove field1 but leave everything else

Daha iyi şeyler için visual studio içinde intellisense kontrol

Additional nodes

Bir NameValueColelction (sadece) bir tek-bir eşleme sağlamaz unutmayın - Eğer tek bir ad ile birden çok değer ilişkilendirebilirsiniz.

var map = new NameValueCollection();

map.Add("Bar", "Foo");
map.Add("Bar", "Buz");

// Prints 'Foo,Buz' - the comma-separated list of all values
// associated with the name 'Bar'.
Console.WriteLine(map["Bar"]);