我一直只是一个人使用:
List<String> names = new ArrayList<>();
Run Code Online (Sandbox Code Playgroud)
我使用接口作为可移植性的类型名称,因此当我问这些问题时,我可以重新编写代码.
何时应该LinkedList使用,ArrayList反之亦然?
我想在绑定到a的下拉列表中添加"Select One"选项List<T>.
一旦我查询,我List<T>如何添加我的初始Item,而不是数据源的一部分,作为其中的FIRST元素List<T>?我有:
// populate ti from data
List<MyTypeItem> ti = MyTypeItem.GetTypeItems();
//create initial entry
MyTypeItem initialItem = new MyTypeItem();
initialItem.TypeItem = "Select One";
initialItem.TypeItemID = 0;
ti.Add(initialItem) <!-- want this at the TOP!
// then
DropDownList1.DataSource = ti;
Run Code Online (Sandbox Code Playgroud) 假设您需要有一个需要经常迭代的整数列表/数组,我的意思是非常频繁.原因可能有所不同,但它说它是高容量处理的最内循环的核心.
通常,由于其大小的灵活性,人们会选择使用列表(列表).最重要的是,msdn文档声称列表在内部使用数组,并且应该执行速度快(使用Reflector快速查看确认这一点).不用说,有一些开销.
有没有人真正测量过这个?通过列表迭代6M次与阵列相同的时间?
有没有一种很好的方法可以n使用LINQ 将集合拆分为多个部分?当然不一定均匀.
也就是说,我想将集合划分为子集合,每个子集合包含元素的子集,其中最后一个集合可以是不规则的.
刚才我读了一些关于List<T>vs的帖子LinkedList<T>,所以我决定自己对一些结构进行基准测试.我为基准Stack<T>,Queue<T>,List<T>和LinkedList<T>通过从前/结束添加数据和删除数据到/.这是基准测试结果:
Pushing to Stack... Time used: 7067 ticks
Poping from Stack... Time used: 2508 ticks
Enqueue to Queue... Time used: 7509 ticks
Dequeue from Queue... Time used: 2973 ticks
Insert to List at the front... Time used: 5211897 ticks
RemoveAt from List at the front... Time used: 5198380 ticks
Add to List at the end... Time used: 5691 ticks
RemoveAt from List at the end... Time used: …Run Code Online (Sandbox Code Playgroud) 我们需要列表时使用List.我现在注意到有一个LinkedList.
我想知道这两个之间有什么区别,什么时候应该使用另一个.
C#,. NET4.
我们有一些性能关键代码导致一些问题.它是一种经过修改的队列,实际上是由List支持的.我想知道在索引0处删除元素是多么昂贵.想到的问题是:
我一直认为RemovedAt是O(1)的列表.是这样的吗?
我有以下不同字符串列表:
"A"
"B"
"C"
如果我想在A之后的项目,我得到B.在B之后,我得到C.在C之后,我得到A.目前我有以下代码,但由于某种原因,我觉得有一个更好的方法去做这(也许?).
private string GetNext(IList<string> items, string curr)
{
if (String.IsNullOrWhitespace(curr))
return items[0];
var index = items.IndexOf(curr);
if (index == -1)
return items[0];
return (index + 1 == items.Count) ? items[0] : items[index + 1];
}
Run Code Online (Sandbox Code Playgroud)
我绝对愿意采用LINQ式的方式来做这件事:)
我需要一个包含相同类型元素列表的数据结构.需要的功能是
不需要索引访问,排序,搜索,删除元素.什么是最好的收藏类?应考虑以下几个方面:性能,内存使用情况,垃圾收集器的行为.
我目前的候选人是List<T>和LinkedList<T>
在C#中似乎有不少不同的列表.在我的头顶,我能够想出一对,但我相信还有更多.
List<String> Types = new List<String>();
ArrayList Types2 = new ArrayList();
LinkedList<String> Types4 = new LinkedList<String>();
Run Code Online (Sandbox Code Playgroud)
我的问题是,何时使用其中一个是有益的?
更具体地说,我从函数返回未知大小的列表,我想知道是否有一个更好的特定列表.
c# ×7
.net ×5
collections ×3
list ×3
linq ×2
algorithm ×1
arraylist ×1
arrays ×1
asp.net ×1
c#-4.0 ×1
enumeration ×1
generic-list ×1
generics ×1
java ×1
linked-list ×1
performance ×1