永发信息网

C# IList<T>的用法?

答案:5  悬赏:50  手机版
解决时间 2021-04-04 02:44
C# IList<T>的用法?
最佳答案
声明:
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");
全部回答
可以用LINQ
写个事件,想什么时候加就什么时候加,具体添加方法是list.add()
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
list.add(实体类的对象)
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
有一笔不属于本公司的账转入了公司的账户,该
【露珠多像夜空璀璨的繁星 】仿写一句 快 快
复习课上,老师准备了四瓶没有标签的白色固体
我和男朋友认识三个多月了一直都是他主动给我
vivo y23 和y623的区别
模特 英语单词是什么?急
济南宜家离哪个景点近
求混社会经典霸气个性签名,
单选题下列说法属于正确的是A.用力推放在地面
我的空调是美的的,有一根细管起白霜。请问佛
我喜欢上网上认识的一个小哥哥,好像见他呐,
三菱劲炫怎么起步很不流畅,我是老司机了,好
请问藏族朋友,这戒指是藏式的吗?这花纹代表
河南商丘市宁陵县逻岗镇的领导成员
如何把鱼缸加高,是指比如45高的鱼缸加高的
推荐资讯
上环后十天又有见红这怎么办
苹果手机日历怎么显示农历节假日和24节气?
找到工作,人事代理档案是否转出?不转出会有
怎么使用经纬仪,怎样用经纬仪放中线?
楚雄三中的位置及历史
手机上写小说用什么软件好?不用可以发表的,
如右图,已知北半球同纬度A、B两点,若A为陆
凡人修仙传里的灵界是什么
产生标准形态菌落的细菌的最初数目和培养基分
猪蹄怎么炖补肾
便秘可以用按摩器按摩腹部吗
北京大专院校有哪些,芜湖有哪些不错的大专?
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?