c#泛型编程中类型声明问题

xy365 2008-04-18 03:26:24
在dotnet2008中C#泛型编程中,例如有以下两个声明
(1)List<CPoint> cp1;
(2)List<CPoint> cp2=new List<CPoint>();
这两个声明有什么不同?是否一个是局部变量,一个是全局变量?

如果是在c++中,不如VC6.0中是否也可以声明如上?
...全文
262 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
fuda_1985 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 15 楼 zhengqian529 的回复:]
引用 10 楼 vrhero 的回复:
1.楼主基本上没有基础...
2.VC6.0不支持泛型...
3.C#中没有全局变量的概念...
[/Quote]
fuda_1985 2008-04-22
  • 打赏
  • 举报
回复
(1)List <CPoint> cp1;
(2)List <CPoint> cp2=new List <CPoint>();
一个申请了内存空间,一个没有。。。。
vrhero 2008-04-22
  • 打赏
  • 举报
回复
呵呵...VC6的模板和.NET的泛型差别还是比较大的...不过我的说法也不严谨...
真相重于对错 2008-04-22
  • 打赏
  • 举报
回复
vc 很久之前就支持泛型啦,
否则怎么用atl ,stl
zhengqian529 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 10 楼 vrhero 的回复:]
1.楼主基本上没有基础...
2.VC6.0不支持泛型...
3.C#中没有全局变量的概念...
[/Quote]
真相重于对错 2008-04-22
  • 打赏
  • 举报
回复
vc6.0

List<CPoint>* cp2 = new List<Cpoint>
mythad 2008-04-22
  • 打赏
  • 举报
回复
(1)List <CPoint> cp1; //未实例化
cp1.Add(new CPoint());//出错,空对象错误

(2)List <CPoint> cp2=new List <CPoint>();
cp2.Add(new CPoint());//正确
robinsmile 2008-04-22
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nihaimeiyoudenglu 的回复:]
上面只是一个声明,下面是创建了一个新的对象.
[/Quote]
俞庆平 2008-04-20
  • 打赏
  • 举报
回复
LZ还是先找本基础书看看,免得回答问题的兄弟们郁闷。
vrhero 2008-04-20
  • 打赏
  • 举报
回复
1.楼主基本上没有基础...
2.VC6.0不支持泛型...
3.C#中没有全局变量的概念...
jzywh 2008-04-20
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 xy365 的回复:]
cp2 != null ,那是什么,可否把它理解为全局变量?
[/Quote]

cp2是一个List<CPoint>的变量阿, 在当前范围内有效, 不是全局变量!
陈冠 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 nihaimeiyoudenglu 的回复:]
上面只是一个声明,下面是创建了一个新的对象.
[/Quote]
xy365 2008-04-18
  • 打赏
  • 举报
回复
cp2 != null ,那是什么,可否把它理解为全局变量?
jzywh 2008-04-18
  • 打赏
  • 举报
回复
(1)List <CPoint> cp1;
----------------------------
cp1 = null


(2)List <CPoint> cp2=new List <CPoint>();
----------------------------
cp2 != null
xy365 2008-04-18
  • 打赏
  • 举报
回复
谢谢!请问下在VC6.0中是否也可以使用
list <CPoint> cp2=new list <CPoint>();
yunfeng007 2008-04-18
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 yuling_xia 的回复:]
这两个申明没有不同啊.
第一个只是申明后没有赋值而已.
第二个已经赋值了.
[/Quote]
xy365 2008-04-18
  • 打赏
  • 举报
回复
应该有差别嘛.赋值怎么说?
nihaimeiyoudenglu 2008-04-18
  • 打赏
  • 举报
回复
上面只是一个声明,下面是创建了一个新的对象.
yuling_xia 2008-04-18
  • 打赏
  • 举报
回复
这两个申明没有不同啊.
第一个只是申明后没有赋值而已.
第二个已经赋值了.

110,536

社区成员

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

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

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