TryParse通过多个值

时间:2012-02-14 06:27:40

标签: c# casting

我一直在使用

 int.TryParse(_dtPOSettings.Rows[0]["PASID"].ToString(), out categoryID);

将字符串值转换为int。当PASID值是单个值时,这工作正常。 现在我将多个值存储在数据库中作为','分隔列表。当我把它们拿回来时,我将它们分开并将它们存储到一个字符串数组中。现在我希望int.TryParse获取字符串数组的值并将它们转换为int值并将它们放回到int类型列表中。 但是外面的参数并不支持这一点。请建议如何编码。

int.TryParse(PASIDValues[i].ToString(), out PASIDintValues[i]);

提前致谢。

3 个答案:

答案 0 :(得分:2)

只需声明一个变量暂时保存值,如果解析成功,则将值赋给数组索引

int temp = 0;

if(int.TryParse(PASIDValues[i].ToString(), out temp))
    PASIDintValues[i] = temp;

答案 1 :(得分:1)

请务必实例化转换后计划存储的值的全部长度,并使用临时变量从int.TryParse获取值。

int[] PASIDintValues = new int[PASIDValues.Count()];
for(int i = 0; i < PASIDValues.Count() - 1; i ++)
{
    int tmp = 0;
    if(int.TryParse(PASIDValues[i].ToString(), out tmp))
        results[i] = tmp;
}

答案 2 :(得分:0)

您不能引用List元素,但可以为数组元素创建一个元素。只需将PASIDintValues设为数组而不是列表,它就可以正常工作。