为什么在C#中声明两次列表类型?

时间:2018-11-10 14:19:08

标签: c# .net

所以,我只是想知道为什么我们需要在c#上两次声明列表的类型,如下例所示:

List<Product> products = new List<Product>();

我在Java上使用过Lists(它们是ArrayLists),但是我们不必这样做。

2 个答案:

答案 0 :(得分:5)

你不知道。只需写

var products = new List<Product>();

只要在方法范围内声明了变量即可。

请参见https://docs.microsoft.com/en-us/dotnet/csharp/language-reference/keywords/var

修改

如果问题专门针对Java的diamond operator,允许您编写

List<Product> products = new ArrayList<>();

然后有一些很好的答案: Diamond Syntax in C#

答案 1 :(得分:-3)

您不会两次重复同一件事。

List<Product> products;声明该类型的变量。

products = new List<Product>();

创建一个实例并将其分配给变量。

List<Product> products = new List<Product>();只是一种在一行中同时执行两者操作的方法。

还要注意有关变量类型和新创建的符号不匹配的情况:https://stackoverflow.com/a/12321186/3346583显然,这在Java中更为常见,正如我在查找Java示例时实际上发现的那样。