Dot-Net

使用 .Net 到 List<t> 的 Arraylist?

  • October 17, 2018

如何將數組列表轉換/轉儲為列表?我正在使用 arraylist,因為我正在使用 ASP.NET 配置文件功能,並且將列表儲存在配置文件中看起來很痛苦。

注意:另一種選擇是將 List 包裝到自己的類中並取消 ArrayList。

http://www.ipreferjim.com/site/2009/04/storing-generics-in-asp-net-profile-object/

轉換ArrayList所有類型對象的最簡單方法T是這樣(假設您使用的是 .NET 3.5 或更高版本):

List&lt;T&gt; list = arrayList.Cast&lt;T&gt;().ToList();

如果您使用的是 3.0 或更早版本,則必須自己循環:

List&lt;T&gt; list = new List&lt;T&gt;(arrayList.Count);

foreach(T item in arrayList) list.Add(item);

如果您使用的是 .NET 3.5 或更高版本,則可以使用 Linq。using System.Linq;

ArrayList arrayList = new ArrayList();
arrayList.Add( 1 );
arrayList.Add( "two" );
arrayList.Add( 3 );

List&lt;int&gt; integers = arrayList.OfType&lt;int&gt;().ToList();

否則,您將不得不將所有值複製到新列表中。

引用自:https://stackoverflow.com/questions/3390965