不知道如何解决"The non-generic type 'ArrayList' cannot be used with type arguments"?



我正在尝试将文本文件读取到ArrayList中。如果我在这行中包括:";CCD_ 1";,然后我得到了非通用错误,但如果我删除它,那么我会在返回行上得到这个错误:

无法隐式转换类型"System.Collections.ArrayList">

using System.Collections;
using System;
using System.IO;
namespace mhpreader
{
    internal class NewBaseType
    { 
        public ArrayList messages = new ArrayList();
        internal NewMhpReader ReadMessages()
        {
            {
                throw new NotImplementedException();
            }
        }
    }
    internal class NewMhpReader : NewBaseType
    {
        private string _FilePath;
        public NewMhpReader(string FilePath)
        {
            this._FilePath = FilePath;
        }
        private string line;
        public NewMhpReader[] ReadMessages(string nMessages)
        {
             ArrayList<String> messages = new ArrayList();
             //List<TextReader> messages = new List<string>;
             using (StreamReader stre = new StreamReader(_FilePath))
             {
                   while ((line = stre.ReadLine()) != null)
                   {
                         messages.Add(line);
                         Console.WriteLine(messages);
                   }
             }
             return messages;
        }
    }
}

有几件事可以帮你一点忙:

  1. 我会按照其他人的建议删除ArrayList,并用List替换它

  2. 您的列表文本阅读器需要是列表字符串

  3. 将您的Console.WriteLine(messages(更改为Console.WriteLine(line(

  4. 请确保在using中包含Generics命名空间(对于List<>(。

  5. 请确保返回正确类型的列表字符串。这就是导致您所看到的编译器错误的原因。

             public List<string> ReadMessages(string nMessages)
             {
                 List<string> messages = new List<string>;
                 using (StreamReader stre = new StreamReader(_FilePath))
                     {
                         while ((line = stre.ReadLine()) != null)
                         {
                             messages.Add(line);
                             Console.WriteLine(line);
                         }
                     }
                 return messages;
             }
    

相关内容

最新更新