【问题标题】:How to declare a byte ArrayList如何声明一个字节ArrayList
【发布时间】:2016-07-19 22:25:50
【问题描述】:

我正在努力

var mahByteArray = new ArrayList<byte>();

而且它不起作用。 它是这样说的:

非泛型类型“System.Collectios.ArrayList”不能与 类型参数

声明字节ArrayList的正确方法是什么?

【问题讨论】:

    标签: c# arraylist byte


    【解决方案1】:

    您将 Java ArrayList 集合 与 C# List 泛型集合 混淆了。两者都用于声明集合,但第一个在 Java 中用作集合框架的泛型类 List 中定义的类型,而在 C# 语言中用作隐式泛型类型。

    因此,您必须声明为List 类型。查看List的详细信息。

    var mahByteArray = new List<byte>();
    

    或

    List<byte> mahByteArray = new List<byte>() { 2, 3, 4 };
    

    【讨论】:

      【解决方案2】:

      确定你可以使用ArrayList

      var mahByteArray = new ArrayList();
      mahByteArray.Add((byte) 230);
      

      【讨论】:

        【解决方案3】:

        ArrayList&lt;&gt; 不是通用的。你可以改用通用的List&lt;&gt;

        var mahByteArray = new List<byte>();
        

        【讨论】:

          【解决方案4】:

          ArrayList 不是通用的。请改用System.Collections.Generic.List&lt;T&gt;。 List&lt;T&gt; 类是ArrayList 类的通用等价物。它使用一个数组来实现IList&lt;T&gt; 泛型接口,该数组的大小根据需要动态增加。

          var mahByteArray = new List<byte>();
          

          也看看这个:Difference between ArrayList and Generic List.

          【讨论】:

            猜你喜欢
            • 2012-06-15
            • 2013-05-16
            • 2021-02-21
            • 2014-03-08
            • 2014-07-23
            • 2014-10-17
            • 1970-01-01
            • 2023-03-19
            • 1970-01-01
            相关资源
            最近更新 更多