关于实体的循环取值的问题,因扰了好久了!
现在项目中有一个实体类A 实体类中的有20个对象,分别是,a1,a2,a3,a4......a20现在想循环取值不知怎么样能把a后面的数字进行循环,达到的效果是这样:
for(int i=1;i<=20;i++)
{
string strValue = A.a和i的组合例如(a1,a2...a20);
}
不知“A.a和i的组合例如(a1,a2...a20)”这个地方该如何组合才能得到值。
高手请指点下啊,本人小菜菜,这个问题困扰了好长时间了。
[解决办法]
public class MiniHashtable { struct StructNameValue { public Object itemName; public Object itemValue; public void SetValue(Object objName, Object objValue) { itemName = objName; itemValue = objValue; } } private ArrayList m_alNV; public MiniHashtable() { m_alNV = new ArrayList(); } public void Add(Object objName, Object objValue) { StructNameValue snvItem = new StructNameValue(); snvItem.SetValue(objName, objValue); m_alNV.Add(snvItem); } public Object this[Object objName] { get { for (int i = 0; i < m_alNV.Count; i++) { StructNameValue snvItem = (StructNameValue)m_alNV[i]; if (snvItem.itemName.Equals(objName)) return snvItem.itemValue; } return null; } } public Object this[int iIndex] { get { if (iIndex < m_alNV.Count) { StructNameValue snvItem = (StructNameValue)m_alNV[iIndex]; return snvItem.itemValue; } else { return null; } } } public Object Name(int iIndex) { if (iIndex < m_alNV.Count) { StructNameValue snvItem = (StructNameValue)m_alNV[iIndex]; return snvItem.itemName; } else { return null; } } public int Length { get { return m_alNV.Count; } } public void Clear() { m_alNV.Clear(); } }
[解决办法]
1:
string strValue = A.a和i的组合例如(a1,a2...a20);
for(int i=1;i<=20;i++)
string strValue="A.a"+i.toString();
2:
更好的方法,建立一个object型的List或者ArrayList,把你的对象全放进去,
要是知道个数用for循环遍历,如果不知道个数就用foreach实现遍历