CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
IBM Rational 系统开发最佳实践工具包 WebSphere MQ 最佳实践 TOP 15
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

C#的基础问题.关于值类型与引用类型

楼主Csgoodliness(勇敢的心)2006-03-14 09:48:10 在 .NET技术 / C# 提问

C#类型主要分值与引用类型,我想问大家.  
  class   C1{  
      int   i;//是放在堆中吗?  
  }  
  struct   S1{  
      DataSet   ds1;//是放在堆栈中吗?  
  } 问题点数:18、回复次数:12Top

1 楼Csgoodliness(勇敢的心)回复于 2006-03-14 10:03:54 得分 0

自己顶Top

2 楼goldenroses(俺就是大胡子,怕不。。。)回复于 2006-03-14 10:06:23 得分 0

是的Top

3 楼raulredondo()回复于 2006-03-14 10:09:04 得分 9

class   C1{  
      int   i;//是放在堆中吗?  
  }  
  放在堆里面  
   
  struct   S1{  
      DataSet   ds1;//是放在堆栈中吗?  
  }  
  如果把S1定义在类里面,那么全部都在堆里,如果S1在局部定义,那么就只是把句柄放在堆栈里面,内容仍然放在堆里Top

4 楼gguoxiangg(郭祥)回复于 2006-03-14 10:16:01 得分 0

结构体和整型是值类型放在堆中  
  类是引用类型放在栈中Top

5 楼Csgoodliness(勇敢的心)回复于 2006-03-14 10:16:53 得分 0

struct   S1{  
      internal   DataSet   ds1;//  
  }  
   
  struct   S2{  
      internal   void   test(){  
          S1   s   =   new   S1();  
          s.ds1   =   new   DataSet();  
      }  
  }  
  //s   在堆栈,s.ds1   在堆中!   对吗?Top

6 楼Csgoodliness(勇敢的心)回复于 2006-03-14 10:20:13 得分 0

struct   S1{  
      internal   DataSet   ds1;//  
  }  
   
  struct   S2{  
      internal   S1   s_;  
      internal   void   test(){  
          S1   s   =   new   S1();  
          s.ds1   =   new   DataSet();  
          s_.ds1   =   s.ds1;  
      }  
  }  
  //s   在堆栈,s.ds1   在堆中!   而s_   也是在堆栈中,是这样吗?Top

7 楼Csgoodliness(勇敢的心)回复于 2006-03-14 10:29:09 得分 0

顶者有分,自己再顶一下先.Top

8 楼ThreadSharp(ThreadSharp V2006)回复于 2006-03-14 10:33:09 得分 0

raulredondo()   说法比较正确,  
  顶一下吧……  
  其实你可以仔细的想一想,C#中根本就不会有完全独立的数值类型放在栈中的,  
  因为它是完全面向对象的一种编程语言,这就要求所有的处理都是包含在类中的,  
  而在使用的时候全是引用类型的,而引用又是放在堆中的,  
  所以……Top

9 楼lovvver(ElephantTalk.Bright)回复于 2006-03-14 10:43:01 得分 9

class   C1{  
      int   i;//是放在堆中吗?是放在内存中的吧  
  }  
  struct   S1{  
      DataSet   ds1;//是放在堆栈中吗?是的。  
  }Top

10 楼HxIn_it(我爱无双)回复于 2006-03-14 11:04:38 得分 0

class   是引用类型。  
  struct   是值类型。  
  Top

11 楼hb3000(木林)回复于 2006-03-14 11:17:13 得分 0

值类型在栈中,引用类型在堆中Top

12 楼hb3000(木林)回复于 2006-03-14 11:19:29 得分 0

int   i   是值类型,dataset   ds   是引用类型Top

相关问题

  • c#中,对象是引用类型的
  • string,值类型和引用类型。
  • 请问一下,C#中引用类型和值类型对象分别放在哪里,堆还是栈?
  • 按值传送值类型,按引用传送值类型,按值传送引用类型,按引用传送引用类型
  • 关于C++的引用类型,有几个疑问
  • 在c#、asp.net中怎么引用类型Excel
  • 有关C#引用类型变量的疑问。
  • 值类型和引用类型的问题?
  • .net CTS中值类型和引用类型的底层问题????
  • 请问以下类型到底是值类型还是引用类型?

关键词

  • c#
  • ds
  • 类型
  • 堆栈
  • 引用
  • 放在
  • dataset
  • internal
  • 类
  • struct

得分解答快速导航

  • 帖主:Csgoodliness
  • raulredondo
  • lovvver

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo