• 一道值类型和引用类型理解的问题


    using System.Collections.Generic;    
    using System.Text;   
    using System;   
      
    namespace ConsoleApplication1   
    {   
        
    class Value   
        {   
            
    public int i = 15;   
        }   
        
    class Program   
        {   
            
    static void Main(string[] args)   
            {   
                Program t 
    = new Program();   
                t.first();   
            }   
            
    public void first()   
            {   
                
    int i = 5;   
                Value v 
    = new Value();   
                v.i 
    = 25;   
                second(v, i);   
                Console.WriteLine(v.i);   //20 ?????看不懂 郁闷的问题   
                                     
     //因为在second里,v.i的值被赋为20   
                                     
    //之后再second中,v=val;v的引用变成了val,但是此方法中的v还是原来的那个   
      
            }   
            
    public void second(Value v, int i)   
            {   
                i 
    = 0;   
                v.i 
    = 20;   
                Value val 
    = new Value();   
                v 
    = val;   
                Console.WriteLine(v.i 
    + " " + i + " ");//15,0 可以理解   
            }   
        }   
    }
  • 相关阅读:
    级联操作
    深入解析http协议
    http状态码
    数据库在一对一、一对多、多对多怎么设计表关系
    [转载]C#深拷贝的方法
    TraceSource记录程序日志
    .NET 垃圾回收与内存泄漏
    DevExpress GridControl使用方法总结
    DevExpress使用技巧总结
    Oracle 错误代码小结
  • 原文地址:https://www.cnblogs.com/dupeng0811/p/1407709.html
Copyright © 2020-2023  润新知