将变量作为对象进行转换会导致该变量丢失数据吗?

Ano*_*ser 0 c# casting object

说我有以下代码

...
PointPair newPoint = new PointPair(123, 432);
newData((Object) newPoint);
...

public override void newData(Object data)
{
    PointPair newData;
    if (data is PointPair)
        newData = (PointPair)data;
    else
        newData = new PointPair(0, 0);

    // Do stuff with newData
}
Run Code Online (Sandbox Code Playgroud)

我的PointPair对象在转换/转发期间会丢失数据/信息object吗?

我使用object或是否重要Object?(资本O)

Sel*_*enç 5

我的PointPair对象在转换/转发对象期间会丢失数据/信息吗?

不,它不会.因为转换,根本不会更改您的对象.它会更改您的对象的方式,例如当您将其转换为时object,即使基础类型仍然PointPair无法访问成员PointPair因为你newPoint会被视为object.

如果我使用对象或对象,这有关系吗?

不,因为object它只是Object课堂的别名.