永发信息网

C# IList<T>的用法?

答案:5  悬赏:50  手机版
解决时间 2021-04-04 02:44
  • 提问者网友:戎马万世
  • 2021-04-03 06:41
C# IList<T>的用法?
最佳答案
  • 五星知识达人网友:归鹤鸣
  • 2021-04-03 08:00
声明:
1、List mList = new List();

T为列表中元素类型,现在以string类型作为例子

E.g.:List mList = new
List();

2、List testList =new List
(IEnumerable collection);

以一个集合作为参数创建List

E.g.:
string[] temArr = { "Ha", "Hunter", "Tom", "Lily", "Jay", "Jim",
"Kuku", "Locu" };
List testList = new
List(temArr);

添加元素:

1、 List. Add(T item) 添加一个元素

E.g.:mList.Add("John");

2、 List. AddRange(IEnumerable collection) 添加一组元素

E.g.:
string[] temArr = { "Ha","Hunter", "Tom", "Lily", "Jay", "Jim",
"Kuku", "Locu" };
mList.AddRange(temArr);

3、Insert(int index, T item); 在index位置添加一个元素

E.g.:mList.Insert(1, "Hei");
全部回答
  • 1楼网友:等灯
  • 2021-04-03 11:54
可以用LINQ
  • 2楼网友:末日狂欢
  • 2021-04-03 11:19
写个事件,想什么时候加就什么时候加,具体添加方法是list.add()
  • 3楼网友:煞尾
  • 2021-04-03 10:34
IList 接口
表示可按照索引单独访问的对象的非泛型集合。
命名空间: System.Collections
程序集: mscorlib(在 mscorlib.dll 中)

备注
IList 是 ICollection 接口的子代,并且是所有非泛型列表的基接口。IList 实现有三种类别:只读、固定大小和可变大小。无法修改只读 IList。固定大小的 IList 不允许添加或移除元素,但允许修改现有元素。可变大小的 IList 允许添加、移除和修改元素。
有关此接口的泛型版本,请参见 System.Collections.Generic..::.IList<(Of <(T>)>) 。
示例
下面的示例演示创建一个简单列表——固定大小列表的 IList 接口的实现。
C#
using System;
using System.Collections;
class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
SimpleList test = new SimpleList();
// Populate the List
outputBlock.Text += "Populate the List" + "\n";
test.Add("one");
test.Add("two");
test.Add("three");
test.Add("four");
test.Add("five");
test.Add("six");
test.Add("seven");
test.Add("eight");
test.PrintContents(outputBlock);
outputBlock.Text += "\n";
// Remove elements from the list
outputBlock.Text += "Remove elements from the list" + "\n";
test.Remove("six");
test.Remove("eight");
test.PrintContents(outputBlock);
outputBlock.Text += "\n";
// Add an element to the end of the list
outputBlock.Text += "Add an element to the end of the list" + "\n";
test.Add("nine");
test.PrintContents(outputBlock);
outputBlock.Text += "\n";
// Insert an element into the middle of the list
outputBlock.Text += "Insert an element into the middle of the list" + "\n";
test.Insert(4, "number");
test.PrintContents(outputBlock);
outputBlock.Text += "\n";
// Check for specific elements in the list
outputBlock.Text += "Check for specific elements in the list" + "\n";
outputBlock.Text += String.Format("List contains \"three\": {0}", test.Contains("three")) + "\n";
outputBlock.Text += String.Format("List contains \"ten\": {0}", test.Contains("ten")) + "\n";
}
} // class Program
class SimpleList : IList
{
private object[] _contents = new object[8];
private int _count;
public SimpleList()
{
_count = 0;
}
// IList Members
public int Add(object value)
{
if (_count < _contents.Length)
{
_contents[_count] = value;
_count++;
return (_count - 1);
}
else
{
return -1;
}
}
public void Clear()
{
_count = 0;
}
public bool Contains(object value)
{
bool inList = false;
for (int i = 0; i < Count; i++)
{
if (_contents[i] == value)
{
inList = true;
break;
}
}
return inList;
}
public int IndexOf(object value)
{
int itemIndex = -1;
for (int i = 0; i < Count; i++)
{
if (_contents[i] == value)
{
itemIndex = i;
break;
}
}
return itemIndex;
}
public void Insert(int index, object value)
{
if ((_count + 1 <= _contents.Length) && (index < Count) && (index >= 0))
{
_count++;
for (int i = Count - 1; i > index; i--)
{
_contents[i] = _contents[i - 1];
}
_contents[index] = value;
}
}
public bool IsFixedSize
{
get
{
return true;
}
}
public bool IsReadOnly
{
get
{
return false;
}
}
public void Remove(object value)
{
RemoveAt(IndexOf(value));
}
public void RemoveAt(int index)
{
if ((index >= 0) && (index < Count))
{
for (int i = index; i < Count - 1; i++)
{
_contents[i] = _contents[i + 1];
}
_count--;
}
}
public object this[int index]
{
get
{
return _contents[index];
}
set
{
_contents[index] = value;
}
}
// ICollection Members
public void CopyTo(Array array, int index)
{
int j = index;
for (int i = 0; i < Count; i++)
{
array.SetValue(_contents[i], j);
j++;
}
}
public int Count
{
get
{
return _count;
}
}
public bool IsSynchronized
{
get
{
return false;
}
}
// Return the current instance since the underlying store is not
// publicly available.
public object SyncRoot
{
get
{
return this;
}
}
// IEnumerable Members
public IEnumerator GetEnumerator()
{
// Refer to the IEnumerator documentation for an example of
// implementing an enumerator.
throw new Exception("The method or operation is not implemented.");
}
public void PrintContents(System.Windows.Controls.TextBlock outputBlock)
{
outputBlock.Text += String.Format("List has a capacity of {0} and currently has {1} elements.", _contents.Length, _count) + "\n";
outputBlock.Text += "List contents:";
for (int i = 0; i < Count; i++)
{
outputBlock.Text += String.Format(" {0}", _contents[i]);
}
outputBlock.Text += "\n";
}
}
// This code produces output similar to the following:
// Populate the List:
// List has a capacity of 8 and currently has 8 elements.
// List contents: one two three four five six seven eight
//
// Remove elements from the list:
// List has a capacity of 8 and currently has 6 elements.
// List contents: one two three four five seven
//
// Add an element to the end of the list:
// List has a capacity of 8 and currently has 7 elements.
// List contents: one two three four five seven nine
//
// Insert an element into the middle of the list:
// List has a capacity of 8 and currently has 8 elements.
// List contents: one two three four number five seven nine
//
// Check for specific elements in the list:
// List contains "three": True
// List contains "ten": False
语法
Visual Basic(声明)
_
Public Interface IList _
Implements ICollection, IEnumerable
Visual Basic (用法)
Dim instance As IList
C#
[ComVisibleAttribute(true)]
public interface IList : ICollection, IEnumerable
  • 4楼网友:野慌
  • 2021-04-03 08:58
list.add(实体类的对象)
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯