不能在C#中隐式地将字符串转换为int

在下面的代码中我有一个数据行,我从中选择数据表中的值。 我想在一个字符串中保存datarow值。但它抛出“不能隐式地将字符串转换为int”.Pls帮助我解决问题。

MastersClient objDB1 = new MastersClient(); DataSet dsTemp = objDB1.Email(UserID); DataTable Menu = new DataTable(); Menu = dsTemp.Tables[0]; DataRow[] rows = dsTemp.Tables[0].Select("[MenuName]= 'PNDIND'"); string item = rows["MenuName"].ToString(); 

似乎你正在尝试这样的事情,但你忘了指定行号:

 //rowNumber is int string item = rows[rowNumber]["MenuName"].ToString(); 

或者,如果要为所有行获取MenuName值:

 string[] items = rows.Select(i=>i["MenuName"].ToString()).ToArray(); 

您尝试在最后一行使用字符串"MenuName"作为数组索引。 你不能这样做; 索引必须是整数。