C# 输入字符串的格式不正确。处理异常

C# 输入字符串的格式不正确。处理异常,c#,validation,properties,C#,Validation,Properties,我得到异常“输入字符串格式不正确”。我想处理这个异常并添加我自己的错误。输入应该是int。我应该在哪里执行此操作?我有一个带有listview的objectdatasource,我从后面的代码中获取textbox.text时遇到了问题,因此我可以使用tryParse 您的属性属于Int32类型。不能为此属性分配有效整数以外的任何内容。现在,如果您有一些字符串形式的用户输入,然后需要将其分配给integer属性,那么可以使用该方法确保用户输入的值是有效的整数 例如: string someValu

我得到异常“输入字符串格式不正确”。我想处理这个异常并添加我自己的错误。输入应该是int。我应该在哪里执行此操作?我有一个带有listview的objectdatasource,我从后面的代码中获取textbox.text时遇到了问题,因此我可以使用tryParse

您的属性属于Int32类型。不能为此属性分配有效整数以外的任何内容。现在,如果您有一些字符串形式的用户输入,然后需要将其分配给integer属性,那么可以使用该方法确保用户输入的值是有效的整数

例如:

string someValueEnteredByUser = ...
int value;
if (!int.TryParse(someValueEnteredByUser, out value))
{
    // the value entered by the user is not a valid integer
}
else
{
    // the value is a valid integer => you can use the value variable here
}
Number
始终是一个
int
,它是这样定义的

您可能希望验证字符串的内容。最简单的方法是将其解析为
int

int number;

if(!int.TryParse(yourString, out number))
{
   Not an int!
}

“value”将始终与变量的类型相同。因此:

private bool mabool = false; 

public bool MaBool
{
    get { return mabool; }
    set { mabool = value; }
}
永远不会崩溃。这是因为,正如我所说,值将是相同类型的变量。在本例中,值是布尔值

在课堂上尝试一下:

public class Rotator
{
    public Roll, Pitch, Yaw;

    // Declarations here (...)
}

private Rotator rotation = new Rotator();
public Rotator Rotation
{
    get { return rotation; }
    set
    {
        // Since value is of the same type as our variable (Rotator)
        // then we can access it's components.
        if (value.Yaw > 180) // Limit yaw to a maximum of 180°
            value.Yaw = 180;
        else if (value.Yaw < -180) // Limit yaw to a minimum of -180°
            value.Yaw = -180;

        rotation = value;
    }
}
公共类旋转器
{
公众侧倾、俯仰、偏航;
//此处的声明(…)
}
专用旋转器旋转=新旋转器();
公共旋转器旋转
{
获取{返回旋转;}
设置
{
//因为值与变量(旋转器)的类型相同
//然后我们可以访问它的组件。
如果(value.Yaw>180)//将偏航限制在最大180°
数值:偏航=180;
否则如果(value.Yaw<-180)//将偏航限制在最小-180°
偏航=-180;
旋转=值;
}
}

如第二个示例所示,值是一个旋转器,因此我们可以访问它的组件。

这不是验证。如果值是错误的,则永远不要像代码中那样设置它。此属性已接受INT。您所说的“验证”是什么意思?您认为它可以是什么?除了int@leppie:这是非常好的ViewModel代码。Int32.TryParse(…)??我想是关于消极/非消极的东西。但控制已经完成了。。。呸。