我有一组名为这样的对象:
_1,_2,_3 .... _n
不是一个数组,只是一组自定义控件的对象.我想将名称转换为int.首先我删除_
,但如果使用
private void Superficie_MouseDown(object sender, MouseButtonEventArgs e) { int index = 0; Shape myShape = ((Shape)sender); string lcNombre = myShape.Name.Remove(0, 1); //-------------------------------------------------------------------- // Those are my tryes // Doesn't work because it must expect a nullable value index = lcNombre as decimal; // Doesn't work Can't convert string to int index = (int)lcNombre; //-------------------------------------------------------------------- if (index > 0) { bool lIsSelected = !Pieza.Superficies.Where(x=>x.Id == index).First().IsSelected; Pieza.Superficies.Where(x => x.Id == index).First().IsSelected = lIsSelected; if (lIsSelected) myShape.Fill = new SolidColorBrush(SystemColors.HotTrackColor); else myShape.Fill = new SolidColorBrush(SystemColors.ControlLightLightColor); } }
我该怎么做才能施展它?
最直接的方法是
index = int.Parse(lcNombre);
如果你不完全确定lcNombre是否真的是一个整数,你可以改用它
int result; bool isInt = int.TryParse(lcNobre, out result);
最后你可以使用
index = Convert.ToInt32(lcNobre);
如果输入值不可转换为整数,则此方法(如int.Parse())将抛出FormatException.