日期:2014-05-17  浏览次数:21245 次

C#中有关数组重新赋值的问题
已经定义了一个数组,从下标为0开始依次输出数组元素的值,能否实现每输出一次值后将剩余的元素组成新的数组,而数组名不变。
例如:
现在有一个数组string [] a=new string[]{"aaa","bbb","ccc","ddd","eee"},
a[0]已经被输出了,有没有一种效率较高的方法可以实现当前数组[]a={"bbb","ccc","ddd","eee"}
不用list或者arraylist能实现么?

------解决方案--------------------
引用:
...从下标为0开始依次输出数组元素的值...

学过数据结构应该知道有‘队列’:

Queue<string> queue = new Queue<string>(new string[]{ "aaa", "bbb", "ccc", "ddd", "eee" });
string s1 = queue.Dequeue(); // "aaa"
string s2 = queue.Dequeue(); // "bbb"

------解决方案--------------------
显然,除了LinkedList<T>,还有Queue<T>等等。

除了.net framework中现有的几百种数据结构,你也可以自己写。开发工具只是个工具,一切数据结构(包括Array)都是人写出来的,你可以随时自己写,全在于你自己的知识。
------解决方案--------------------
当然,list,队列,stack都是你可以选择的东西

ps:数组这东西在net里基本已经被淘汰了,除了兼容早期代码,或者图片数据操作,正常情况很少使用数组