C#中 Vector的用法

Vectorx=newVector();x.Value=20;Vectory=x;Console.WriteLine(y.Value);y.Value=50;Consol... Vector x=new Vector();
x.Value=20;
Vector y=x;
Console.WriteLine(y.Value);
y.Value=50;
Console.WriteLine(x.Value);
Vector 是一个引用类型,引用类型在使用的时候需要new 来实例化一个。这段代码执行后,只有一个 Vector 对象,x,y 都指向包含该对象的内存地址。因为x,y 存储的都是对象的引用,所以当y 改变的时候, x 也会改变。所以该程序输出的结果是20 和50.
C#中的Vector的作用是什么意思?
跟C++的指针做比较呢?
展开
 我来答
MyAppleKnows
2012-12-18 · TA获得超过695个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:414万
展开全部
1. 你这里用的Vector就是自定义的一个类,引用类型。

2. C#的System.Windows命名空间中,有个结构体类型Vector,值类型。

3. 不管是你自定义的这个Vector类,还是System.Windows命名空间中的Vector结构体,都与C++ STL中的Vector没任何关系,也没有什么可比较的。C++ STL中的Vector是用来代替数组的,和C#中的List、AraayList等集合类型还有一点相似性。

4. 这里的Vector与指针更没有关系,不过引用类型的引用变量和指针比较像,你可以查询下C#引用类型和值类型的区别,就明白了。
追问
引用类型的引用变量和指针比较像

我觉得有点像……可知道的太少 所以没法判断
这个Vector输入程序后没法编译 错误是缺少基类 我以为是我的编译器出的问题 这回明白了 是自定义的类
这么看的话 引用类型具有指针的某些性质与功能 但与指针的差别很大 交集很小 对么?
龍过鸡年
2012-12-18 · TA获得超过311个赞
知道小有建树答主
回答量:308
采纳率:100%
帮助的人:365万
展开全部
貌似你的理解有错误
而且 C# 中的 Vector 也没有 Value 属性
更多追问追答
追问
我初学 这个是教程上写的 
C#中的Vector的作用是什么意思?
跟C++的指针做比较呢?
这两个问题都是我提的

上面都是教程上写的
追答
C# 中也可以使用指针
不过,这里分明是定义了两个类,所以两次输出的数值都是20才对

Vector x = new Vector();
x.X = 20;
x.Y = 20;
Vector y = x;
Console.WriteLine(y.ToString());
y.X = -20;
y.Y = -20;
Console.WriteLine(x.ToString());

输出:
20,20
20,20

你可以通过下面的示例进行比较:
Vector x = new Vector()
{
X = 20,
Y = 20
};
Console.WriteLine(x.ToString());
this.Vx(x);
Console.WriteLine(x.ToString());
this.Vx(ref x);
Console.WriteLine(x.ToString());
// ===================
private void Vx(Vector v)
{
v.X = -20;
v.Y = -20;
}
private void Vx(ref Vector v)
{
v.X = -20;
v.Y = -20;
}
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式