zoukankan      html  css  js  c++  java
  • 第三章 对象和类型

    MathTest

    using System;
    
    namespace Wrox
    {
       class MainEntryPoint
       {
          static void Main()
          {
             // Try calling some static functions
             Console.WriteLine("Pi is " + MathTest.GetPi());
             int x = MathTest.GetSquareOf(5);
             Console.WriteLine("Square of 5 is " + x);
    
             // Instantiate at MathTest object
             MathTest math = new MathTest();   // this is C#'s way of
                                               // instantiating a reference type
             
             // Call non-static methods
             math.Value = 30;
             Console.WriteLine(
                "Value field of math variable contains " + math.Value);
             Console.WriteLine("Square of 30 is " + math.GetSquare());
          }
       }
    
       // Define a class named MathTest on which we will call a method
       class MathTest
       {
          public int Value;
    
          public int GetSquare()
          {
             return Value*Value;
          }
    
          public static int GetSquareOf(int x)
          {
             return x*x;
          }
    
          public static double GetPi()
          {
             return 3.14159;
          }
       }
    }
    View Code

    MathTestWeakReference

    using System;
    
    namespace Wrox
    {
       class MainEntryPoint
       {
          static void Main()
          {
             // Instantiate a weak reference to MathTest object
             WeakReference mathReference = new WeakReference(new MathTest());   
             MathTest math;
             if(mathReference.IsAlive)
             {
                math = mathReference.Target as MathTest;
                math.Value = 30;
                Console.WriteLine(
                   "Value field of math variable contains " + math.Value);
                Console.WriteLine("Square of 30 is " + math.GetSquare());
    
             }
             else
             {
                Console.WriteLine("Reference is not available.");
             }
    
             GC.Collect();
             
             if(mathReference.IsAlive)
             {
                math = mathReference.Target as MathTest;
             }
             else
             {
                Console.WriteLine("Reference is not available.");
             }
          }
       }
    
       // Define a class named MathTest on which we will call a method
       class MathTest
       {
          public int Value;
    
          public int GetSquare()
          {
             return Value*Value;
          }
    
          public static int GetSquareOf(int x)
          {
             return x*x;
          }
    
          public static double GetPi()
          {
             return 3.14159;
          }
       }
    }
    View Code

    ParameterTest

    using System;
    
    namespace Wrox
    {
       class ParameterTest
       {
          static void SomeFunction(int[] ints, int i)
          {
             ints[0] = 100;
             i = 100;
          }
       
          public static int Main()
          {
             int i = 0;
             int[] ints = { 0, 1, 2, 4, 8 };
             // Display the original values
             Console.WriteLine("i = " + i);
             Console.WriteLine("ints[0] = " + ints[0]);
             Console.WriteLine("Calling SomeFunction...");
    
             // After this method returns, ints will be changed,
             // but i will not
             SomeFunction(ints, i);
             Console.WriteLine("i = " + i);
             Console.WriteLine("ints[0] = " + ints[0]);
             return 0;
          }
       }
    }
    View Code
  • 相关阅读:
    51nod 1031+斐波那契和杨辉三角的一些基础知识
    51nod 1297
    萌新二叉树学习笔记
    HDU3415【单调队列】
    萌新瞎讲网络流之最大流【不定期更新理解篇】
    萌新浅谈单调队列
    51nod 1021【区间DP】
    51nod 1278【贪心】
    51nod 1413
    51nod1181【素数筛】
  • 原文地址:https://www.cnblogs.com/liuslayer/p/7016994.html
Copyright © 2011-2022 走看看