我对一些事情有疑问......
由于我对 ASP.net MVC 概念完全陌生(MVC 不足 15 天),并且由于对 MVC 中的一些基本概念缺乏知识,这确实扰乱了我的工作......所以,
任何人都可以清楚、简单地向我解释一下这样的事情,
1.什么时候应该使用“IEnumerable”、“List”......
2.使用这样的语句的主要用途是什么
@model IEnumerable
3.主要用途是什么
公共(public)虚拟类名标识符{get;设置;}
4.主要用途是什么
公共(public) IEnumerable 标识符{get;set;}
5.主要用途是什么 公共(public)列表标识符{get;set;}
我会非常感谢你...
提前致谢...
最佳答案
除了 2.) 之外,您的所有问题都与 ASP.NET MVC 无关。这些是有关数据结构和 OOP 的基本 .NET/C# 问题,在进入 ASP.NET MVC 之前您应该了解这些问题。
1) When should we use "IEnumerable", "List"....
IEnumerable<T>
是集合层次结构中的最高接口(interface)。它不允许直接访问集合的每个元素。当消费者只需要迭代该集合的元素时,通常使用它。 List<T>
当您需要对可变长度集合进行建模时可以使用它,允许您向其中添加和删除元素并使用索引直接访问元素。
2) What is main use behind using the statement like
@model IEnumerable<Namespace.Models.ModelClasses>
此语句用于指示给定 Razor View 中模型的类型。在这种情况下,它表明该 View 强类型化为 IEnumerable<Namespace.Models.ModelClasses>
接口(interface)意味着渲染此 View 的相应 Controller 操作需要将此类型的实例传递给 View 。
3) What is main use of
public Virtual Classname Identifier{get; set;}
没有。这不是有效的 C#,并且无法编译。另一方面,如果您的意思如下:
public virtual Classname Identifier { get; set; }
那么这意味着您已将 Identifier 属性声明为虚拟属性,这意味着它可以在派生类中被重写。与 Java 相反,.NET 中的成员默认是密封的,除非您将它们标记为 virtual
.
4) What is main use of
public IEnumerable<ClasseName> Identifier{get;set;}
它声明 Identifier
类型属性IEnumerable<ClasseName>
这是一个接口(interface)。
5) What is main use of
public List<ClasseName> Identifier{get;set;}
它声明 Identifier
具体属性List<ClasseName>
类型。
关于c# - MVC 中的基本概念,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10564008/