В чем разница между IEnumerable
& ObservableCollection
in C#?В чем разница между IEnumerable и ObservableCollection?
Например, в этом фрагменте кода:
public class RecipeDataItem
{
public RecipeDataItem(String uniqueId, String title, String subtitle, String description, String imagePath, String tileImagePath, int prepTime, String directions, IEnumerable<string> ingredients)
{
this.UniqueId = uniqueId;
this.Title = title;
this.Subtitle = subtitle;
this.Description = description;
this.ImagePath = imagePath;
this.TileImagePath = tileImagePath;
this.PrepTime = prepTime;
this.Directions = directions;
this.Ingredients = new ObservableCollection<string>(ingredients);
}
public string UniqueId { get; private set; }
public string Title { get; private set; }
public string Subtitle { get; private set; }
public string Description { get; private set; }
public string ImagePath { get; private set; }
public string TileImagePath { get; set; }
public int PrepTime { get; set; }
public string Directions { get; set; }
public ObservableCollection<string> Ingredients { get; private set; }
public override string ToString()
{
return this.Title;
}
}
мы определяем переменную Ingredients
, которая является ObservableCollection
строк, & то мы определяем переменную в спараметрированной конструктор ingredients
который является IEnumerable
строк.
Вы не можете сравнить их. Один из них - интерфейс, один - класс ... И, кстати, 'ObservableCollection' реализует 'IEnumerable ' ... –
Ваш вопрос _ «какая разница» _, кажется, не имеет смысла. Что вы на самом деле хотите знать? – CodeCaster
«IEnumerable», как правило, вы можете перечислить, например, коллекции элементов или генераторов. «ObservableCollection» - это список, который вызывает события при его изменении. Один абстрактный и широкий, другой конкретный и конкретный. Обратите внимание, что 'ObservableCollection' реализует' IEnumerable', среди других интерфейсов. –