C#语言学习--基础部分(十一) --值类型和引用类型

Note:

null 任何引用类型的默认值

Nullable类型:一些值类型的变量赋值null,值类型不能直接赋值null,除非前面加个?

 

1.值类型及引用类型ConsoleDemo

 

namespace ParametersDemo
{
    class WrappedInt
    {
        public int Number;
    }
}
namespace ParametersDemo
{
    class Pass
    {
        public static void Value(int param)
        {
            param = 42;
        }
    }
}
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ParametersDemo
{
    class Program
    {
        static void DoWork()
        {
            int i = 0;
            Console.WriteLine(i);
            Pass.Value(i);
            Console.WriteLine(i);
            WrappedInt wi = new WrappedInt();
            Console.WriteLine(wi.Number);
            Reference(wi);
            Console.WriteLine(wi.Number);
        }
        public static void Reference(WrappedInt param)
        {
            param.Number = 42;
        }
        static void Main(string[] args)
        {
            try
            {
                DoWork();
            }
            catch (Exception ex)
            {
                Console.WriteLine(ex.Message);
            }
        }
    }
}

ref out关键字

 

namespace RefDemo
{
    class Pass
    {
        public static void Value(int param)
        {
            param = 42;
        }
        public static void RefValue(ref int param) //引用类型的参数
        {
            param = 42;
        }
        public static void OutValue(out int param)
        {
            param = 42;
        }
    }
}

 

 

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace RefDemo
{
    class Program
    {

        static void Main(string[] args)
        {
            int i=0//i必须初始化
            Pass.Value(i);
            Console.WriteLine(i);
            Pass.RefValue(ref i); //引用类型
            Console.WriteLine(i);
            int j; //不再需要初始化
            Pass.OutValue(out j);
            Console.WriteLine(j);
        }
    }
}

 

posted on 2012-08-23 21:52  松波  阅读(249)  评论(0编辑  收藏  举报

导航