Разница между ilist и list in asp.net
Может ли кто-нибудь ясно понять меня насчет ilist и list.Пожалуйста, приведите мне какой-нибудь пример, чтобы я мог ясно понять.
спасибо.
Привет!
Просто хочу добавить несколько вещей...
Идея состоит в том, чтобы программировать против интерфейса, а не реализации. Таким образом, IList-это интерфейс (контракт), который используется для реализации списка. Например, если вы хотите написать метод, который возвращает и принимает "коллекцию" объектов, вы должны написать свой метод для возврата и принятия интерфейсов. Какой интерфейс вы хотите использовать, зависит от того, что вы хотите сделать в этом методе.
Например, предположим, что если вы просто хотите перебрать коллекцию, то вам следует использовать "самый маленький" тип интерфейса, который является IEnumerable, а не конкретной реализацией (List, Collection, ArrayList, StringCollection и т. д.). возвращая и принимая определенный интерфейс, вы только гарантируете или обещаете, что ваш компонент, метод или что-то еще будет вести себя определенным образом. Посмотри сюда AddRange метод, который определен на Список класс:
public void AddRange ( IEnumerable<t> collection )</t>
Опять хороший ответ; Я согласен и проголосовал 5.
Я также добавил некоторые основные ссылки и объяснение о некорректности таких вопросов, пожалуйста, смотрите мой ответ.
--СА
ОК! ТПХ...
5+
5 ЕД!
Привет,
Так List
объект позволяет вам создавать список, добавлять в него вещи, удалять его, обновлять его, индексировать в него и т. д., И все это очень хорошо. List
используется всякий раз, когда вам просто нужен дженерик List
где вы указываете тип объекта в нем, и это все.IList
с другой стороны, это Interface
(Подробнее об интерфейсах см. Интерфейсы MSDN[^В принципе, если вы хотите создать свой собственный тип List
, скажем, класс списка называется SimpleList
, то вы можете использовать Interface
чтобы дать вам основные методы и структуру для вашего нового класса. IList
это для тех случаев, когда вы хотите создать свой собственный, специальный подкласс, который реализует List
.
Для дальнейшего чтения см.:
Список MSDN[^]
MSDN IList[^] - в частности, посмотрите на пример кода и посмотрите класс SimpleList.
Надеюсь, это поможет,
Эд
5+
Спасибо :)
5 ЕД!
Спасибо :)
Разница в том, что IList-это Interface
и не может быть инстанцирован. List-это класс, и его можно создать.
Т. е.: вы не можете сказать
IList<string> list = new IList<string>();Но вы можете сказать:
List<string> list = new List<string>
public class MyClassList: MyListsClass, IList<MyClass>Но ты не можешь сказать
public class MyClassList: MyListsClass, List<MyClass>Потому что для этого потребовалось бы, чтобы C# производился из нескольких классов, а это невозможно.
5+
5 ЕД!
да
IList<> - Это интерфейс, в то время как List<> - Это конкретный класс.
IList<> Не может быть создан, в то время как List может быть создан.
например :
-----------------
У меня есть класс с именем Employee like
Public Class Employee { //Member function //Member variables }
IList<employee> EmpObj = new IList<employee>
IList<employee> EmpObj = new List<employee>
List<employee> EmpObj = new List<employee></employee></employee></employee></employee></employee></employee>
зачем именно нужно
Прежде чем задавать вопросы, пожалуйста, прочтите это обсуждение:
Как задать хороший вопрос?[^].
Кроме того, проверьте мой ответ на соответствующую тему: в чем разница между классом и инкапсуляцией в программировании[^].
Вместо того, чтобы задавать неправильные и бесполезные вопросы о "разнице", вам нужно просто начальное образование в области ООП и программирования в целом.
Во - первых, взгляните сюда:
http://en.wikipedia.org/wiki/Object-oriented_programming[^],
http://en.wikipedia.org/wiki/Dynamic_dispatch[^],
http://en.wikipedia.org/wiki/Interface_%28computing%29#Software_Interfaces[^].
Удачи,
Хорошие ссылки для людей, которые не понимают принципов многоразового объектно-ориентированного проектирования или ООП-проектирования в целом.
Спасибо, Мартин.
(Я обратил внимание на этот старый пост, потому что заметил новый голос 1. Интересно, почему два человека могут так голосовать?)
--СА
не думайте, что вы гений...
прежде чем отвечать на вопросы, прочтите эту ссылку www.f***you.com