zoukankan      html  css  js  c++  java
  • 一个关于流程控制的问题

    CSDN 帖子链接

    代码
    static class Program
    {
    /// <summary>
    /// 应用程序的主入口点。
    /// </summary>
    [STAThread]
    static void Main()
    {
    Console.WriteLine(Test2());
    // 输出 AA

    TestClass ts
    = Test();

    Console.WriteLine(ts.str);
    // 输出 CC

    Console.ReadLine();
    }

    public static TestClass Test()
    {
    TestClass ts
    = new TestClass();
    try
    {
    ts.str
    = "AA"; //
    return ts; // 在执行return的时候、返回值就已经确定了,在此时要对数据进行拷贝
    // 由于 Ts 是引用类型即是一个指针,数据拷贝直接拷贝的是 内存地址
    // 由于方法到此时还没有执行完毕所以还要继续执行
    }
    catch (Exception ex)
    {
    ts.str
    = "BB";
    Console.WriteLine(ex.Message);
    return ts;
    }
    finally
    {
    ts.str
    = "CC"; // 由于Finally的特殊性:无论是否发生异常都要执行finally语句
    // 该语句会在执行return 语句之后 方法执行完毕前 执行。
    // 由于数据拷贝是在return语句执行是发生的,并且拷贝的是内存地址,
    // 而该语句又是对内存地址所指向的数据进行修改、而不是修改这个内存地址,
    // 所以 此操作影响了外界到的数据、更确切的说是影响了其内存地址中的数据
    }

    }


    public static string Test2()
    {
    string str = "";
    try
    {
    str
    = "AA"; //
    return str; // 在执行return的时候、返回值就已经确定了,在此时要对数据进行拷贝
    // 由于 string 是值类型,数据拷贝直接拷贝的是 数据
    // 由于方法到此时还没有执行完毕所以还要继续执行
    }
    catch (Exception ex)
    {
    str
    = "BB";
    Console.WriteLine(ex.Message);
    return str;
    }
    finally
    {
    str
    = "CC"; // 由于Finally的特殊性:无论是否发生异常都要执行finally语句
    // 该语句会在执行return 语句之后 方法执行完毕前 执行。
    // 由于数据拷贝是在return语句执行是发生的,并且拷贝的是数据,
    // 所以该语句的执行不会影响到返回值
    }
    }
    }


    public class TestClass
    {
    public string str;
    }


    返回导读目录,阅读更多随笔



    分割线,以下为博客签名:

    软件臭虫情未了
    • 编码一分钟
    • 测试十年功


    随笔如有错误或不恰当之处、为希望不误导他人,望大侠们给予批评指正。

  • 相关阅读:
    C语言数据结构_严蔚敏+吴伟民 课本源码
    html5下F11全屏化的几点注意
    jquery中的globalEval()源码分析
    jquery中的 parseJSON() 源码分析
    javascript正则表达式分组捕获理解
    IE6-IE9中tbody的innerHTML不能赋值
    jquery中的 jquery.contains(a,b)
    jquery中的 deferred之 when (三)
    mac下apache配置,解决It is not safe to rely on the system's timezone settings.
    服务器大量TIME_WAIT和CLOSE_WAIT的原因及解决办法
  • 原文地址:https://www.cnblogs.com/08shiyan/p/1863967.html
Copyright © 2011-2022 走看看