我有这个网络方法。
[WebMethod]
public List<BlogCultureInfo> loadCultureList()
{
List<Language> lstAllCultures = LocaleController.GetCultures();//Its bring a value from cultureInfo
List<SCultureInfo> lstCulture = new List<SCultureInfo>();
SCultureInfo objInfo = new SCultureInfo();
foreach (Language objLst in lstAllCultures)
{
objInfo.LanguageName = objLst.LanguageName;
objInfo.LanguageCode = objLst.LanguageCode;
lstCulture.Add(objInfo);
}
return lstCulture;
}
它的运行没有任何错误。当我在
lstAllCultures
中调试时,它带来了正确的值.210个不同的cultureinfo值。我做错了。谢谢。
最佳答案
您需要在循环内部而不是外部创建新对象(SCultureInfo)。
foreach (Language objLst in lstAllCultures)
{
SCultureInfo objInfo = new SCultureInfo();
objInfo.LanguageName = objLst.LanguageName;
objInfo.LanguageCode = objLst.LanguageCode;
lstCulture.Add(objInfo);
}
在您的原始代码中,您只有一个对象,该对象被多次添加到列表中并保存在foreach循环的最后一次迭代中分配的值。