用 foreach 迭代一个列表时,先后顺序如何决定呢?
------------------------------------------
假如用 foreach 迭代数组或列表,总要有一个先后顺序吧。可是顺序的规则是什么呢?
列表中有可能是多个对象,对象之间如何确实先后顺序呢?总不能是乱序随机排吧?
------------------------------------------
假如用 foreach 迭代数组或列表,总要有一个先后顺序吧。可是顺序的规则是什么呢?
列表中有可能是多个对象,对象之间如何确实先后顺序呢?总不能是乱序随机排吧?
我试的结果是 Add() 的顺序,可是就算这样,这个顺序也应该保存在类中吧??using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;namespace diedai
{
class zgh1
{
int id;
string name; public override string ToString()
{
return string.Format("id={0},name={1}", id, name);
} public zgh1(int i, string n)
{
id = i;
name = n;
}
} class zgh1s
{
public List<zgh1> zghs = new List<zgh1>(); public zgh1s()
{
zghs.Add(new zgh1(9, "aaaaa"));
zghs.Add(new zgh1(1, "bbbbb"));
zghs.Add(new zgh1(3, "ccccc"));
}
} class Program
{
static void Main(string[] args)
{
zgh1s obj1=new zgh1s(); //以下迭代,按什么顺序输出呢?是不是以Add()的顺序呀
//如果是按Add()的顺序,那么Add()的顺序保存在类的何处呢?
//另外,这个类没有显式的定义 Ienumerable 接口呀。
foreach(zgh1 tmp in obj1.zghs)
{
Console.WriteLine(tmp);
}
Console.ReadLine();
}
}
}
是按添加的