我想问一下高手们, class Program
{
struct point
{
public int x;
public int y;
}
struct line
{
public point starting;
public point ending; }
class lineapp
{ static void Main(string[] args)
{
line myline;
myline.starting.x = 1;
myline.starting.y = 4;
myline.ending.x = 10;
myline.ending.y = 11;
Console.WriteLine("p1:({0},{1})", myline.starting.x, myline.starting.y);
Console.WriteLine("p2:({0},{1})", myline.ending.x, myline.ending.y);
这段代码中,有个line myline,这个line是什么,有什么作用,我好像把struct改为class会出现错误
好像我觉得结构和类差不多,有了class可以不用struct,可以吗?
结构有什么好处?跟类有什么区别,忘高手速度解答
{
struct point
{
public int x;
public int y;
}
struct line
{
public point starting;
public point ending; }
class lineapp
{ static void Main(string[] args)
{
line myline;
myline.starting.x = 1;
myline.starting.y = 4;
myline.ending.x = 10;
myline.ending.y = 11;
Console.WriteLine("p1:({0},{1})", myline.starting.x, myline.starting.y);
Console.WriteLine("p2:({0},{1})", myline.ending.x, myline.ending.y);
这段代码中,有个line myline,这个line是什么,有什么作用,我好像把struct改为class会出现错误
好像我觉得结构和类差不多,有了class可以不用struct,可以吗?
结构有什么好处?跟类有什么区别,忘高手速度解答
结构是值类型,class 是引用类型。
所有结构类型隐式地从类 System.valueType 继承。
对结构类型变量进行赋值意味着将创建所赋的值的一个“副本”。
一个结构的默认值的计算如下:将所有值类型字段设置为它们的默认值,并将所有引用类型字段设置为 null,这样就产生了该结构的默认值。
使用装箱和取消装箱操作在结构类型和 object 之间进行转换。
对于结构,this 的意义不同。
在结构中,实例字段声明中不能含有变量初始值设定项。
在结构中不能声明无参数的实例构造函数。
与你代码中的line很相像了
结构是值类型,class 是引用类型。
所有结构类型隐式地从类 System.valueType 继承。
而类的最终父类都是Object
struct 直接是一个存储空间
:
因为改为class后line还是没有分配内存,只是空引用。好像我觉得结构和类差不多,有了class可以不用struct,可以吗?
:结构可以说是一个轻量级的类。但是它不是类。
当一个数据模型有如下的特点,比如有字段,方法,但是不作为其他模型的 父。
也不继承 其他模型,则可以用结构了
结构有什么好处?跟类有什么区别,忘高手速度解答:好处就是上面所说的吧,
他跟类的区别就是
1,一个是引用类型,一个是值类型,
2,结构没有默认的构造函数,也不能提供默认的构造函数。
3,参数传递的时候一个是值传递,一个是引用传递。
这个时候要注意以下,要引用有很多字段,很多方法的时候考虑能不能用类。
因为他值传递,所以会出现他所有成员的副本,效率会下降。
代替line myline;
看看。