我尝试在C#中搜索最常用的内置接口,但找不到文章,所以我想我们可以回顾一下。
让我们在答案中使用以下惯例:
IinterfaceName1:对于此
IinterfaceName2:用于那个
答案 0 :(得分:34)
我认为前两位必须是语言支持的人:
IEnumerable<T>
(和IEnumerable
):for
与foreach
和LINQ IDisposable
:需要资源
清理,与using
除此之外......
IComparable<T>
和IComparer<T>
:用于广义排序IEquatable<T>
和IEqualityComparer<T>
:for generalized equality IList<T>
和ICollection<T>
:for mutable collections IDictionary<T,K>
:用于查找集合答案 1 :(得分:11)
INotifyPropertyChange
:用于WPF中的UI类的数据绑定,winforms和silverlight
答案 2 :(得分:5)
IQueryable<T>
:允许您对可查询的数据源执行请求。例如
IQueryable<Project> projects = db.Projects;
var selectedItems = projects
.Where(x => x.Workers.Count() > 10 && x.Status != 1)
.ToArray();
在此示例中,将在SQL Server上进行过滤(涉及将表达式x => x.Workers.Count() > 10 && x.Status != 1
转换为SQL语句的棘手机制)
因此,无需编写自定义SQL命令来使用所有可能的数据源。
不仅可以用于SQL,还可以查询对象或其他任何内容,只需找到IQueryable<T>
的实现