现成的c#程序我有一句看不懂

supercast 2011-08-02 10:56:48
c# code

namespace ConsolApplication1
{
class Program
{
static void Main(string[] args)
{
ReferenceAndValue.Demonstration();//调用ReferenceAndValue类中的Demonstration方法
Console.ReadLine();
}
}

public class stamp//定义一个类
{
public string Name{get;set;}//定义引用类型
public int Age{get;set;}//定义值类型
}
public static class ReferenceAndValue//定义一个静态类
{
public static void Demonstration()//定义一个静态方法
{
stamp Stamp_1=new stamp{Name="Premiere",Age=25};//实例化
stamp Stamp_2=new stamp{Name="Again",Age=47};//实例化
int age=Stamp_1.Age;//获取值类型Age的值
Stamp_1.Age=22;//修改值类型的值
stamp guru=Stamp_2;//获取Stamp_2中的值(问题1:stamp为什么小写,什么意思?)
Stamp_2.Name="Again Amend";//修改引用的Name值
Console.WriteLine("Stamp_1's age:{0}",Stamp_1.Age);//显示Stamp_1中的Age值
Console.WriteLine("age's value:{0}",age);显示age值(问题2:这里的age指的哪个age)
Console.WriteLine("Stamp_2's name:{0}",Stamp_2.Name);//显示Stamp_2中的Name值
Console.WriteLine("gugu's name:{0}",gugu.Name);//显示gugu中的Nanme值
}
}
}

stamp guru=Stamp_2;//获取Stamp_2中的值(问题1:stamp为什么小写,什么意思?为什么不new一个对象)
Console.WriteLine("age's value:{0}",age);显示age值(问题2:这里的age指的哪个age)
谢谢大家




...全文
252 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
freemangood 2011-08-02
  • 打赏
  • 举报
回复
好多高手啊,留名!
zgxiangwei 2011-08-02
  • 打赏
  • 举报
回复
stamp guru=Stamp_2;//获取Stamp_2中的值(问题1:stamp为什么小写,什么意思?)

本身定义的对象类型就是小写

Console.WriteLine("age's value:{0}",age);显示age值(问题2:这里的age指的哪个age)

肯定是 自己定义的 int age 这个变量的值 。
xuexiaodong2009 2011-08-02
  • 打赏
  • 举报
回复
代码规范引起的
bdmh 2011-08-02
  • 打赏
  • 举报
回复
public class stamp,小写类名,怎么没有new啊,new stamp这不是吗
q107770540 2011-08-02
  • 打赏
  • 举报
回复
google: C# 深复制 浅复制
q107770540 2011-08-02
  • 打赏
  • 举报
回复
1. 小写? 因为你上边定义的类名就是小写 : public class stamp//定义一个类
stamp guru=Stamp_2; //将对象Stamp_2的值付给对象 guru

2.

int age=Stamp_1.Age;//获取值类型Age的值
ysq520 2011-08-02
  • 打赏
  • 举报
回复
其实我觉得你是没看懂这句stamp Stamp_1=new stamp{Name="Premiere",Age=25};
其实这句就等于 stamp Stamp_1=new stamp();
Stamp_1.Name="Premiere";
Stamp_1.Age=25;
ysq520 2011-08-02
  • 打赏
  • 举报
回复
首先 stamp 是一个类,Stamp_2是该类的一个实例,然后这句stamp guru=Stamp_2;是将实例Stamp_2赋给guru,因为Stamp_2本身就是stamp的实例 所以接受他用stamp没有任何异议的吧。
Console.WriteLine("age's value:{0}",age); 这个age 就是int age=Stamp_1.Age,用int接收的age,即是实例Stamp_1的Age。
雪舞苍空 2011-08-02
  • 打赏
  • 举报
回复
问题1:实例化。吧Stamp_2的值传过去
问题2:int age=Stamp_1.Age;//获取值类型Age的值 是STAMP_1的age
老毕 2011-08-02
  • 打赏
  • 举报
回复
stamp guru=Stamp_2;//获取Stamp_2中的值(问题1:stamp为什么小写,什么意思?为什么不new一个对象)
你定义的类的名称本来就是小写的。
Stamp_2在这句往上的3句已经new了。

Console.WriteLine("age's value:{0}",age);显示age值(问题2:这里的age指的哪个age)
这句往上5句有个int age
supercast 2011-08-02
  • 打赏
  • 举报
回复
谢谢大家热心帮助,结帖了。
大侠虾峡虾 2011-08-02
  • 打赏
  • 举报
回复
7楼的勋章好犀利
fengjunwang 2011-08-02
  • 打赏
  • 举报
回复
这些问题 有点无语
月明瀚海 2011-08-02
  • 打赏
  • 举报
回复
高手真多,自愧不如,发奋!
missgd152 2011-08-02
  • 打赏
  • 举报
回复
小写的stamp是一个类,Stamp_2是类创建的对象。
litianci2002 2011-08-02
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 abbey 的回复:]

stamp guru=Stamp_2;//获取Stamp_2中的值(问题1:stamp为什么小写,什么意思?为什么不new一个对象)
你定义的类的名称本来就是小写的。
Stamp_2在这句往上的3句已经new了。

Console.WriteLine("age's value:{0}",age);显示age值(问题2:这里的age指的哪个age)
这句往上5句有个int age
[/Quote]

......
ohkuy 2011-08-02
  • 打赏
  • 举报
回复
stamp guru=Stamp_2;//获取Stamp_2中的值(问题1:stamp为什么小写,什么意思?为什么不new一个对象)
这完全是你命名不规范造成的,
你定义的类的名称本来就是小写的

为什么不new一个对象
stamp guru=Stamp_2;
将对象Stamp_2的值赋给对象 guru
当Stamp_2中的值如Name或Age值改变时,
guru中的Name或Age值同时改变和Stamp_2中的值一样

问题2:这里的age指的哪个age
int age=Stamp_1.Age;
就是这个age

111,097

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧