C #, Sözlük <TKey, TValue> Generics>

C # okumaya başladım. Şimdi Generics'in yolculuğundayım. Bu kitaptaki Generics'in ilk örneğine rastladım:

static Dictionary CountWords(string text)
{
   Dictionary frequencies;
   frequencies = new Dictionary();
   ... //other code goes here..

Ve bu koddan sonra yazar şöyle der:

The CountWords method first creates an empty map from string to int 

Bu, C# 'de bir acemi olarak, ben yazarın int için (yukarıdaki ifadede) dize) ne denemeye çalıştığını belirsiz görünüyor? Bu çizgiyle kafam karıştı.

Şimdiden teşekkürler.

1
@TimSchmelter: ah, sanırım şu anda başka C# sorularına cevap veriyor olabilir, şu anda;)
katma yazar Ant's, kaynak
Bence diğer cevaplar şimdi ele aldı.
katma yazar Jon Skeet, kaynak
Belki @Jon Skeet kendini cevaplamak istiyor;)
katma yazar Tim Schmelter, kaynak

6 cevap

Bir paragraftaki kelimeleri saymak istediğimizi söyleyelim:

C# okumaya başladım. Şimdi Generics'in yolculuğundayım.   Bu kitaptaki Generics'in ilk örneğine rastladım

Kelimeleri saymak için, kelimenin her biri için bir dizi olayı saklayabilecek bazı veri yapısına ihtiyacınız olacaktır.

Ben - 3 kere
  in - 3 kez
  Jenerik - 2 kez   vb ...

that structure maps a string to an integer, and in C# Generics, that structure is a Dictionary

BTW, eğer C# yeni başlayan biri iseniz, C# 'ye karşı derinlemesine tavsiyede bulunacağım, harika bir kitap olmasına rağmen oldukça gelişmiş bir okuyucu olduğunu varsayalım.

3
katma
Eh, ben bu kitaptan zevk alıyorum :) ve referans için ben C# içinde özet var .. Ben başa çıkabilirim! :)
katma yazar Ant's, kaynak
Yeterli olmak için +1. . .
katma yazar Ant's, kaynak
Yeni başlayanlar için mükemmel bir cevap vermek için +1
katma yazar Filip Popović, kaynak

Bu işlev, belirli bir dizgedeki tüm kelimeleri sayar. Dönen sözlüğünde bulunan her kelime için anahtar kelime olarak bir giriş var. İnt değerinde saklanır, bu sözcük dizede kaç kez bulundu.

1
katma

Dictionary maps a string key (or lookup) to an int value.

1
katma

Consider Dictionary frequencies.
When you try to add an item you use (for example)

frequencies.Add("key3", 3)

Başka bir öğe eklediğinizde, "key3" tekrarlayamazsınız, çünkü Dictionary içinde benzersiz bir anahtardır; Bu yüzden bir "harita" yaratırsınız çünkü benzersiz anahtarlara sahip olduğunuzdan ve anahtarlarını kullanarak değerleri geri çağırabildiğinizden emin olabilirsiniz: frekansları ["key3"] ...

Dictionary frequencies = new Dictionary();
frequencies.Add("key3", 3);
frequencies.Add("key4", 4);
frequencies.Add("key3", 5);//This raises an error

int value = frequencies["key3"];
1
katma

string anahtarınızdır ve int anahtarla eşleştirilen değerdir.

1
katma

It means from the Key to the Value

0
katma