2011-03-23 15 views
12

क्या .NET में सहयोगी सरणी (उदा। Dictionary<TKey, TValue>) नामकरण के लिए कोई सम्मेलन/दिशानिर्देश हैं?शब्दकोश को कैसे नामित करें?

var dict = new Dictionary<Foo, Bar>(); 

कुछ नाम मैं का उपयोग किया है/देखी गई::

foosToBars 
mapFromFooToBar 
barsByFoo 
barsForFoos 

मैं भी बीसीएल में कुछ प्रकार देखा है

उदाहरण के लिए, वहाँ में dict नाम के लिए एक बेहतर तरीका है 'nicer' ध्वनि नाम चुनना जो सीधे प्रकट नहीं करते हैं कि कुंजी और मान का प्रतिनिधित्व करना चाहिए, जैसे this method में।

मल्टीमैप्स के लिए कैसे (उदा। ILookup<TKey, TElement>)?

संपादित:

शायद मेरी उदाहरण थोड़ा गरीब था, मेरा मतलब कुंजी और मूल्य के प्रकार पर ध्यान केंद्रित करने का नहीं था।

कैसे करता है, तो के बारे में यह था:

// key = Name of person, value = Age of person 
var dict = new Dictionary<string, int>(); 
नमूने के लिए अद्यतन के साथ

:

namesToAges 
mapFromNameToAge 
agesByName 
agesForNames 
+0

+1 foosToBars या बस सलाखों – wenqiang

+0

मैं 'सलाखों के लिए' के ​​रूप में जाना चाहूंगा, 'फू का अधिनियम यहां एक सूचकांक के रूप में। एक 'शब्दकोश <स्ट्रिंग, व्यक्ति>' तो बस 'peopleByName' होगा। –

उत्तर

10

मैं, उदाहरण आप से जुड़ा हुआ पालन करने के लिए जहां शब्दकोश का नाम नहीं की कोशिश करता हूँ इसके बाद में शामिल है लेकिन आप के लिए इसे नाम दें। किसी के लिए यह निर्धारित करने में लंबा समय नहीं लगता है कि "dict" एक शब्दकोश है जो Foo कुंजी Bar मानों पर है, लेकिन मैं यह जानना चाहता हूं कि आप ऐसा क्यों कर रहे हैं।

+2

सहमत - आधुनिक इंटेलिजेंस यह पता लगाने में तुच्छ बनाता है कि यह क्या है, लेकिन यह अक्सर यह पता लगाने में थोड़ा मुश्किल है कि यह क्यों है ... – SqlRyan

+0

ग्रेट प्वाइंट: "इसके लिए इसका नाम क्या है"। मैंने एक बुरा उदाहरण चुना है कि अनावश्यक रूप से कुंजी और मूल्य के * प्रकार * पर ध्यान केंद्रित किया गया है; मैंने सवाल अपडेट कर लिया है। मेरी गलती। – Ani

+0

मैं सहमत हूं। 'शब्दकोश आयु इंडेक्स;' यह सब कहता है। – jgauffin

संबंधित मुद्दे