मान लीजिए मेरे पास एक तरीका है
public List<User> GetBatchOfUsers(IEnumerable<int> userIDs)
{
List<User> users = new List<User>();
// some database stuff
return users;
}
मैंने पढ़ा है कि यह बेहतर होगा एक इंटरफेस (या तो वापस जाने के लिए IList
या IEnumerable
) के रूप में एक लौटने के लिए विरोध किया List
। ऐसा करने के लिए मैंने जो कुछ तर्क सुने हैं वह यह है कि यह डेटा छुपाता है, और एपीआई डेवलपर को बाद की तारीख में डेटा के आंतरिक प्रतिनिधित्व को बदलने की सुविधा देता है।
बस वापस लौटने के बारे में मेरी चिंता IEnumerable
यह है कि आप कार्यक्षमता खो देते हैं, जैसे कि यादृच्छिक पहुंच और Count
संपत्ति।
मुझे पता है कि IEnumerable
एक पैरामीटर के रूप में स्वीकार करना समझ में आता है, क्योंकि यह उपभोक्ता को मेरी विधि में डेटा भेजने के लिए सबसे अच्छा लचीलापन देता है, विधि को संचालित करने के लिए आवश्यकताओं का न्यूनतम सेट।
वापसी प्रकार के लिए सबसे अच्छा अभ्यास क्या है?