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

怎么会有值

楼主aa12983()2006-03-14 18:17:32 在 .NET技术 / C# 提问

 
  下面这个程序中m,n不是没有被付值吗,怎么会有值?  
   
   
  using   System;  
  namespace   ConsoleApplication1{  
   
  ///   <summary>  
  ///   Class1   的摘要说明。  
  ///   </summary>  
  ///  
  ///  
   
  ///<summary>  
  ///   应用程序的主入口点。  
  ///   </summary>  
  //[STAThread]  
  class   a  
  {  
  protected   internal   int   m;  
  public   static   int   n;  
  public   void   display()  
  {      
  m++;  
  n++;  
  Console.WriteLine(m);  
  Console.WriteLine(n);  
  }  
  }  
  class   Class1  
  {  
  static   void   Main(string[]   args)  
   
      {  
      a   a1=new   a();  
  a1.display();  
  a   a2=new   a();  
  a2.display();  
  a   a3=   new   a();  
  a3.display();  
             
      string   s=Console.ReadLine();  
  Console.WriteLine(s);  
      Console.ReadLine();  
   
      //  
      //   TODO:   在此处添加代码以启动应用程序  
      //  
      }  
   
  }  
  }  
   
  问题点数:20、回复次数:10Top

1 楼20011521()回复于 2006-03-14 18:34:02 得分 0

a2.display();  
  a3.display();  
  静态变量Top

2 楼aa12983()回复于 2006-03-14 19:01:13 得分 0

静态变量和有没有值是什么关系,能不能说明白点,本人是新手啊,谢谢  
  Top

3 楼yutian130(骑着布什好歹的萨达姆猪,漫步在小巷的尽头)回复于 2006-03-14 19:03:46 得分 0

public   void   display()  
  {      
  m++;//是不是已经递加了。。  
  n++;  
  Console.WriteLine(m);  
  Console.WriteLine(n);  
  }  
  Top

4 楼hdt(倦怠)回复于 2006-03-14 19:04:55 得分 0

值对象会被.net框架初始化  
  Top

5 楼aa12983()回复于 2006-03-14 19:36:38 得分 0

m,n初始化后值都是1吗,那如果是   double   类型的呢Top

6 楼serversql(啊初)回复于 2006-03-14 19:47:37 得分 10

m,n的初始值都是0  
  public   void   display()  
  {      
  m++;  
  n++;  
  Console.WriteLine(m);  
  Console.WriteLine(n);  
  }  
  你首先调用m++;所以,你的输出应该是从1开始!!!  
  Top

7 楼serversql(啊初)回复于 2006-03-14 19:48:54 得分 5

所有的NUM类型都一样啊,他是没有NULL值的!Top

8 楼aa12983()回复于 2006-03-14 20:09:12 得分 0

using   System;  
  namespace   ConsoleApplication1{  
   
  ///   <summary>  
  ///   Class1   的摘要说明。  
  ///   </summary>  
  ///  
  ///  
   
  ///<summary>  
  ///   应用程序的主入口点。  
  ///   </summary>  
  //[STAThread]  
  internal     class   a  
  {  
  protected   internal   double   m;  
  public   static   int   n;  
  internal   void   display()  
  {      
  m++;  
  n++;  
  Console.WriteLine(m);  
  Console.WriteLine(n);  
  }  
  }  
    internal   class   b:     a  
  {  
  public   void   display1()  
                {  
                              display();  
  Console.WriteLine("nihaoa     ");  
  }  
    }  
  class   Class1  
  {  
  static   void   Main(string[]   args)  
   
      {  
      b   a1=new   b();  
  a1.display();  
  Console.WriteLine(a1.m);////////为什么可以直接访问m  
  a   a2=new   a();  
  a2.display();  
   
             
      string   s=Console.ReadLine();  
  Console.WriteLine(s);  
      Console.ReadLine();  
   
      //  
      //   TODO:   在此处添加代码以启动应用程序  
      //  
      }  
   
  }  
  }  
   
  我在class   a中已经把m设定为internal   了,那为什么在main中还可以直接访问,internal不是显示指定该类只有项目内部才嫩访问吗?Top

9 楼huiren1(灰人)回复于 2006-03-14 20:49:54 得分 5

1.static   int   默认初始化为0;  
  2.internal可以被本组合体(Assembly)内所有的类存取,组合体是C#语言中类被组合后的逻辑单位和物理单位,其编译后的文件扩展名往往是“.DLL”或“.EXE”。class   a和class1是在一个组合体中.Top

10 楼serversql(啊初)回复于 2006-03-14 21:02:20 得分 0

楼主可能还不明白  
  internal  
  private  
  protect  
  public   所表示的意思  
  想知道更多,买本书吧!或者给多点分!  
  哈,我还要做星呢!Top

相关问题

  • 怎么取值
  • richedit怎么赋值?
  • 值怎么变了?
  • 怎么读radio的值
  • 怎么理解左值?
  • 怎么读取session的值???
  • 怎么给LPLOGFONT赋值那?
  • 怎么知道这个值?
  • 怎么会没值呢?
  • 怎么取得 checkbox 的值?

关键词

  • 应用程序
  • console
  • writeline
  • 初始化
  • internal
  • display
  • readline
  • static
  • main

得分解答快速导航

  • 帖主:aa12983
  • serversql
  • serversql
  • huiren1

相关链接

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

广告也精彩

反馈

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