在c++中,可以
int fn()
{
static i = 0;
++i;
return i;
}
但是在c#中,要实现这样的功能,就只能在类中定义一个成员变量了,不然无法保存上次fn调用的i值class Fn
{
int i;
int fn()
{
++i;
return i;
}
}
int fn()
{
static i = 0;
++i;
return i;
}
但是在c#中,要实现这样的功能,就只能在类中定义一个成员变量了,不然无法保存上次fn调用的i值class Fn
{
int i;
int fn()
{
++i;
return i;
}
}
{
static i = 0;
++i;
return i;
}C++中这个I应该也在方法外有作为属性存在的定义吧?
int i;
int fn()
{
static i = 0;
++i;
return i;
}C#中也可以进行这种定义,不过是
static int i;
int fn()
{
i = 0;
++i;
return i;
}
我觉得函数中的static变量挺好啊,本来这个变量就这个函数需要调用,干嘛非得搞成类的成员变量,导致整个类可见呢?
类的其他成员也都是为了描述这个对象而存在的。所以C#是完全面向对象的语言。
C++不是完全面向对象的语言,它只是可以面向对象而已。所以C++中不面向对象的写法在C#中是肯定不存在的
可以,要这样写,要爆错说你static不行
class Fn
{
static int i;
static int fn()
{
++i;
return i;
}
}调用:
Fn.fn();
按照你的说法,这个i和Paint的处理函数联系紧密,该怎么把他们封装起来呢?
Update(GameTime gameTime)负责更新状态,但不负责更新画面
Draw(GameTime gameTime)跟update 相反。Draw 负责更新画面