Sobes.tech
Junior — Middle

Ի՞նչ տարբերություն կա հավաքածուի տարբեր ինտերֆեյսների միջև։

sobes.tech AI

Պատասխան AI-ից

C#-ի հավաքածուի ինտերֆեյսները սահմանում են տարբեր պայմաններ տվյալների հավաքածուի հետ աշխատելու համար, և նրանց տարբերությունը՝ գործառնականության և նպատակների մեջ է:

  • IEnumerable<T> — հիմնական ինտերֆեյս՝ հավաքածուի անցնելու համար foreach-ի միջոցով: Միայն թույլ է տալիս մեկ առ մեկ ընթերցել տարրերը:
  • ICollection<T> — ընդլայնում է IEnumerable<T>-ը, ավելացնում է մեթոդներ հավաքածուի փոփոխության համար (Add, Remove), հատկություններ Count և IsReadOnly:
  • IList<T> — ընդլայնում է ICollection<T>-ը, ավելացնում է ինդեքսատոր՝ հասնելու համար ինդեքսով, ավելացման և հեռացման մեթոդներ ինդեքսով:
  • IDictionary<TKey, TValue> — ներկայացնում է բանալի-արժեք զույգերի հավաքածու, որտեղ տարրերին հասանելի է բանալիով:

Այսպիսով, ինտերֆեյսի ընտրությունը կախված է անհրաժեշտ գործողություններից՝ միայն անցնելու համար՝ IEnumerable<T>, փոփոխությունների և հաշվարկի համար՝ ICollection<T>, ինդեքսով հասանելիության համար՝ IList<T>, բանալիներով աշխատելու համար՝ IDictionary<TKey, TValue>։