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