是否可以执行ListViewItem数组

本文关键字:ListViewItem 数组 执行 是否 | 更新日期: 2023-09-27 17:58:06

是否可以声明ListViewItem数组?例如

ListViewItem[] arrayItems;
  • 如果可能,我如何填充数组?

  • 是否可以使数组的大小不固定?

是否可以执行ListViewItem数组

是!可以将List声明为数组。

对于指定的长度,请使用以下内容:

ListViewItem[] arrayItems = new ListViewItem[5];
arrayItems[0] = new ListViewItem("Text1");
arrayItems[1] = new ListViewItem("Text2");
// so on

对于未指定的长度,请使用以下内容:

List<ListViewItem> arrayItems = new List<ListViewItem>();
arrayItems.Add(new ListViewItem("Text1"));
arrayItems.Add(new ListViewItem("Text2"));
// When you want to pass it as array, use arrayItems.ToArray();

或者,如果你有一些带有文本的对象列表属性:

List<ListViewItem> arrayItems = dataSourceObject.Select(x => new 
                                                  ListViewItem(x.TextProperty)).ToList();

您似乎在寻找List<ListViewItem>,而不是数组(ListViewItem[]):

List<ListViewItem> myItems = new List<ListViewItem>();
// Just add items when required; 
// have a look at Remove, RemoveAt, Clear as well
myItems.Add(new ListViewItem("Text 1"));
// When you want read/write the item do as if you have an array
ListViewItem myItem = myItems[0]; 

您可以使用Linq从现有ListView:中获取项目

myItems = listView1.Items
  .OfType<ListViewItem>()
  .ToList();

或附加现有列表:

List<ListViewItem> myItems = new List<ListViewItem>();
...
myItems.AddRange(listView1.Items.OfType<ListViewItem>());