您的位置:首页 > 编程语言 > C#

关于C#的set和get问题

2015-11-06 10:20 405 查看
如何正确的理解get和set呢???

体会set:并没有给_aa赋值,但是_aa里面有值了

using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.Web;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

namespace ConsoleApplication1
{
class Program
{
public static List<string> bb;
private static List<string> _aa;
public static List<string> aa
{

set
{
_aa = value;
foreach (var dd in value)
{
Console.WriteLine(dd);
}
Console.WriteLine("set End");
}
get
{
return _aa;
}
}
static void Main(string[] args)
{
bb = new List<string>();
bb.Add("jdkdjdk");
bb.Add("jjjjj");
bb.Add("iiiiii");
bb.Add("oooodd");
aa = bb;
foreach (var dd in aa)
{
Console.WriteLine(dd);
}
Console.WriteLine("aa End");
Console.WriteLine();
foreach (var dd in _aa)
{
Console.WriteLine(dd);
}
Console.WriteLine("_aa End");
Console.Read();
}
}
}


体会get:并没有给aa赋值,但能够取到aa里面的值
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Drawing;
using System.Web;
using System.Drawing.Imaging;
using System.Drawing.Drawing2D;

namespace ConsoleApplication1
{
class Program
{
public static List<string> bb;
private static List<string> _aa;
public static List<string> aa
{

set
{
_aa = value;
foreach (var dd in value)
{
Console.WriteLine(dd);
}
Console.WriteLine("set End");
}
get
{
return _aa;
}
}
static void Main(string[] args)
{
bb = new List<string>();
bb.Add("jdkdjdk");
bb.Add("jjjjj");
bb.Add("iiiiii");
bb.Add("oooodd");
_aa = bb;
foreach (var dd in aa)
{
Console.WriteLine(dd);
}
Console.WriteLine("aa End");
Console.WriteLine();
foreach (var dd in _aa)
{
Console.WriteLine(dd);
}
Console.WriteLine("_aa End");
Console.Read();
}
}
}


个人理解:此时的aa和_aa都指向同一块内存new List<string>(),且set只有在用等号赋值的时候会触发!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  c#