精华内容
下载资源
问答
  • 请问一下,在c#里,如果方法中的参数为对象,然后引用了外部的对象,再被方法内的对象集合添加了,这个集合是这个方法所在的类的静态集合,那这个对象还是存在在堆中,只有这个集合移除了这个对象,然后这个对象才在...
  • amespace Traffic { class Program { static void Main(string[] args) { AddPassenger(new Compact()); AddPassenger(new SUV...错误提示为:对象引用对于非静态的字段、方法或属性,object.string()是必须的?
  • 把b对象所指向的地址赋个类型为A的对象名。此时,a和b指向同一段存储空间 执行a.F();编译时,检测到对象A中的方法为虚方法,编译器此时会执行早期绑定,即编译器此时会调用类A中的F()方法。 如果将Class B中new ...
    先直接上程序,再讲解

    namespace ObjectAppTest
    {
        class A
        {
            public virtual void F()
            {
                Console.WriteLine("A.F");
            }
         }
        class B:A
         {
            new  public void F()    
            {
                Console.WriteLine("B.F");
            }
        }
        class test
        {
            static void Main(string[] args)
            {
                B b = new B();
                A a = b;
                a.F();
                b.F();
             }
        }
    }
    首先注意class A 中的方法 public virtual void F()和class B 中的方法 new public void F()。
    当在执行B b = new B()后,系统为b开辟了一段内存空间。这时候,对象b就指向实在存在的空间。
    然后执行A a = b;把b对象所指向的地址赋个类型为A的对象名。此时,a和b指向同一段存储空间
    执行a.F();编译时,检测到对象A中的方法为虚方法,编译器此时会执行早期绑定,即编译器此时会调用类A中的F()方法。
    如果将Class B中new public void F()的关键字new改成override,编译器会实现后期绑定。这也正好说明多态性的特点。
          
    展开全文
  • 首先你要弄清楚对象和实例的关系,坛子里也有很有人问过,比如你有一个窗体类Form1,这只是一个类,它是一个对象,但他在没有实例化之前,在内存中是不存在的,也就是说类Form1表示我是一个窗体图纸,但还没有实际生产出来 ...

    首先要弄清楚对象和实例的关系,比如你创建了一个窗体类Form1,这只是一个类,它是一个对象,但它在没有实例化之前,在内存中是不存在的,也就是说类Form1表示我是一个窗体图纸,但还没有实际生产出来
    使用Form1 frm = new Form1()以后,创建了一个实际存在的窗体frm,也就是创建了Form1类的一个实例frm,这个时候frm.Show()就可以显示出你创建的那个Form1窗体类的实例frm,实例frm窗体的样子就是Form1类的窗体的样子,因为frm是Form1的实例。
    这时如果你又创建了另一个窗体类Form2,使用Form2 frm2 = new Form2(),这样创建的窗体实例frm2就是窗体类Form2的实例,frm2.Show()显示出来的样子就是Form2窗体类的那个样子,因为frm2是Form2窗体类的实例。
     

    与VB的区别

    之前使用VB做过课设,再用VS中的C#可视化时就很困惑,一直出bug不知道该怎么用,这是因为两个工具中的新建窗体的含义不同,VB中点击新建一个窗体,创建的这个窗体就是一个实例,写代码不需要写new语句,只需要调用这个窗体的show方法就可以显示新创建的这个窗体实例(比如vb中点击新建了一个窗体frm,代码中只需要写frm.show();即可显示该窗体,窗体frm就是一个实例);而VS中C#的.net项目里点击新建一个窗体,创建的这个窗体是一个类,一个对象,不是一个实例,在代码里需要写new语句才是在你这个程序里创建了一个这个类的窗体实例,然后使用show方法可以显示出这个窗体实例,需要注意一切操作都是对这个实例进行操作,调用的方法都是这个实例的方法。

    展开全文
  • C# 对象引用变量

    2019-04-16 17:42:00
    从宏观的角度来看,对象是类的实例。比如: //定义一个名为Someone的类,代表这么一些人(通过指定年龄,性别,性格等基本信息)classSomeone{publicintage;publicstringsex;publicstringname;//other...}//........

    从宏观的角度来看,对象是类的实例。比如:

    //定义一个名为Someone的类,代表这么一些人(通过指定年龄,性别,性格等基本信息)
    class Someone {
      public int age;
      public string sex;
      public string name;
      //other...
    }

    //......
    //创建一个Someone类的对象,代表昵称为nemo的一个特定的人
    Someone nemo = new Someone();

    这时,我们会象通常所说的那样讲到:我们创建了一个名为nemo的Someone类的对象(是的,这没有错,但它会和下文所讲的一些内容产生些许理 解上的困惑)。因为每当创建类的一个实例(昵称为nemo的某人),就创建该类的一个对象(名为nemo的Someone类的对象),而每个对象自身包含 类中定义的所有实例变量(age,sex,name等)的一个拷贝,所以说对象nemo是Someone类的实例。顺便,我们再创建一个名为andy的 Someone类的对象:

    Someone andy = new Someone();

    对象nemo和对象andy是相同的吗?他们仅仅是名字不同而已吗?不——因为每个对象的变量的值不同!比如:

    nemo ——>|age       20      |        andy ——> |age         40        |
                   |sex        “男”   |                      |sex    “男”   |
                   |name  “尼 莫”|                        |name  “刘德华”|

    所以nemo和andy是两个不同的对象,唯一相同的是它们都属于同一种类型——Someone类!


    而从微观的角度来看,我们前面所说的“对象nemo”真的是对象吗?你可能会奇怪我怎么会这么问...
    实际上,
    Someone nemo = new Someone();
    这一创建一个Someone类的对象的过程分为两步:

    //声明一个引用变量
    Someone nemo;

    //创建一个Someone类的对象,new运算符使运行时为该对象动态的分配内存;
    //然后返回该对象所在的内存地址,并赋于变量nemo,从而引用变量nemo指向该对象
    nemo = new Someone();

    此时,对于nemo的理解应该是:nemo是一个引用新创建的Someone类对象的变量(如同c语言的指针变量),它本身并不是一个对象!

        引用变量nemo             对象所在内存地址(设运行时为其分配起始地址为100号的连续内存单元)  
        |          ——|————>100|     20     | age
                                           |    “男”  | sex
                                           | “尼 莫” | name


    现 在你理解了为什么说类是引用类型了吧?——类对象通过引用来访问呀!同时,也说明了为什么上文说“nemo和andy是两个不同的对象”——运行时为对象 动态分配内存,所以两个对象所在的内存地址不同,当然两个对象是不同的咯!——等等,你刚刚不是说nemo是引用变量吗?怎么又说“nemo... 是...对象”了呢?
    笔者在初学时在理解上存在这样的困惑!
    但是,你可能注意到了,Someone是一个类,而nemo自然就是声明为这个类的一个变量;而类作为一种类型,它是属于引用类型,所以nemo自然就是一个引用类型的变量即引用变量了啊。
    关键的一点是,我们可以从不同的角度来看这一问题:宏观上,nemo是对象;而微观上,深层的理解,nemo是引用变量。

    转载于:https://www.cnblogs.com/FavoriteMango/p/10718644.html

    展开全文
  • C#相关对象引用学习

    2020-02-03 17:34:40
    1、在一个类库里创建一个类Teacher; 2、在另外两个类库里分别创建...3、在TeacherService TeacherManager里创建对象引用 public class TeacherService { public Teacher TeacherLogin(Teacher teacher) { //...

    1、在一个类库里创建一个类Teacher;
    2、在另外两个类库里分别创建TeacherSerice TeacherManager
    3、在TeacherService TeacherManager里创建对象引用
    public class TeacherService
    {

        public Teacher TeacherLogin(Teacher teacher)
        {
            //SQL
            string sql = $"select TeacherName,TeacherId from Teacher where LoginAccount='{teacher.LoginAccount}'and LoginPwd='{teacher.LoginPwd}'";
            //提交查询
            SqlDataReader reader = SQLHelper.GetReader(sql);
            //判断登录
            if (reader.Read())
            {
                teacher.TeacherId = (int)reader["TeacherId"];
                teacher.TeacherName = reader["TeacherName"].ToString();
            }
            else
            {
                //表示当前帐号或者密码不正确
                teacher = null;
            }
            reader.Close();
    
            return teacher;
    
        }
    
    
    }
    

    public class TeacherManager
    {
    private TeacherService teacherService = new TeacherService();

        public Teacher TeacherLogin(Teacher teacher)
        {
      
            teacher = teacherService.TeacherLogin(teacher);
    
            return teacher;
    
    
        }
    }
    
    展开全文
  • C#对象引用

    2019-07-12 11:06:36
    1:关于实例化对象 我先创建一个FullChannel对象,FullChannel fullchannel = new FullChannel();这个时候堆栈内存的示意图如下在栈内存里面有块区域划出来给FullCannel用,在堆内存里面也划出了一块区域用来存储...
  • C#引用My对象

    2019-10-03 23:26:53
    最近一直在学习,突然想上来写点什么!?可作为一直初学者,我应该写点什么,这时突然让我想起了以前看的一本书...NO,C#中完全可以让我们使用My对象!这是我首先想要告诉大家的。对于该不该在自己的项目中用My对象...
  • C#未将对象引用设置到对象的实例 2016-07-28 11:32 1221人阅读 评论(0) 收藏 举报 原文地址:C#未将对象引用设置到对象的实例作者:andrew 解决办法 出现“未将对象引用设置到对象的实例” ...
  • 欢迎来到一块钱的博客!!! C# 未将对象引用设置到对象的实例?
  • 类是引用类型的,当定义了对象之后,系统会为数据引用分 配存储空间,但是用来保存对象的实际数据的空间并没有分配。 2.对象的创建 创建对象时需要使用new运算符。new运算符可以为任意指 定类类型的实例分配并...
  • C#未将对象引用设置到对象实例原因

    热门讨论 2021-01-23 11:13:48
    1、ViewState 对象为Null。 2、DateSet 为空。 3、sql语句或Datebase的原因导致DataReader空。 4、声明字符串变量时未赋空值就应用变量。...10、重复定义造成未将对象引用设置到对象的实例错误 ...
  • Lua中判断引用C#对象是否为空

    千次阅读 2018-05-28 15:04:10
    Lua中判断引用C#对象是否为空 现象 我们在游戏中经常使用lua引用C#中的一个对象,当我们试图使用C#中的方法删除这个对象时,lua中并不知道这个对象已经被删除了,这时我们再去使用这个lua对象做一些操作时就会...
  • 相信这个问题每个c#编程的都会遇见过,很常见,但是对于初学者肯定是一头雾水,一脸懵逼,对象引用?对象实例?什么鬼,首先解释下这里面的名词,对象,大家都知道吧,就是女朋友,以后可能会成为老婆的人,哈哈,小...
  • C#中未将对象引用设置到对象的实例

    千次阅读 2019-03-19 18:38:58
    C#中未将对象引用设置到对象的实例是什么意思? 意思是你使用这对象之前没有将之实例化 可能出现的原因 一 1.ViewState对象为Null 2.Dateset空 3.sql语句或Datebase的原因导致DataReader空 4.声明字符串变量是未赋...
  • C# 未将对象引用设置到对象的实例

    千次阅读 2015-08-18 11:21:35
    C#中报: 未将对象引用设置到对象的实例这个错误一般都是对象为null产生的,下面几个简单的例子: protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { //string str1 = "";
  • 就是你使用了一个空的对象,举个例子: ...未将对象引用设置到对象的实例未将对象引用设置到对象的实例的错误。 因为toString只对一个存在的对象有效。 因此一般情况下,如果你不确定,最好在使用一个对象之前...
  • C#异常:未将对象引用设置到对象的实例。
  • C# + MVC项目中用LINQ 操作数据库,提示 未将对象引用设置到对象的实例 调查发现是 查询的字段存在 NUll 值我们需要先设置该字段 != null 在进行 == 、 contains 等操作 不然就会报 未将对象引用设置到对象的...
  • C# 对象对于引用非静态字段、方法或属性是必需的

    万次阅读 多人点赞 2018-07-26 16:04:28
    “static都是在类初始化的时候加载的,而非静态的变量都是在对象初始化的时候加载。” 话是我偷的,真心是送给你的。 参考网址:https://blog.csdn.net/qq719365064/article/details/52925176...
  • 突然出现了未将对象引用到实例这个错误 public static void Main() { SpaceGame game = new SpaceGame(); game.Run(); } } run的方法为: public void Run() { _gameWindow = new...
  • 不知道你们有没有遇到过类似的情况,在用户控件里一顿撤销之后发现程序崩了,报下面的错误: ...其他情况的未将对象引用设置到对象的实例,下面这篇博客或许对你有帮助: https://blog.csdn.net

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 8,578
精华内容 3,431
关键字:

c#对象引用

c# 订阅