标签:哈哈 区域 全局变量 summary ram value 访问 pac 第一周
一:
using System;
namespace _003_有几种方法判断值类型和引用类型
{/// <summary>
/// 第一种,值类型与引用类型赋值的区别。值类型赋值只是进行数据的赋值,创建一个同值 的新对象,
/// 而引用类型变量的赋值仅仅是把对象的引用(指针)赋值成变量
/// 第二种,继承结构区别,引用类型一般都有继承性,但是因为值是密封的(sealed),所以值类型不能作为任何类型的基类
/// 但是可以单继承或者多继承接口(别人不可以继承它,它可以继承别人),另一个区别是值类型都继承System.ValueType
/// 引用类型不会继承System.ValueType
/// 第三种,内存分配的问题,值类型被分配在栈上,他的变量直接包含变量的实例,使用效率相对较高。
/// 引用类型分配在堆上,包含一个指向实例的指针,变量通过指针引用实例。
/// </summary>
class Program
{
class SomeRef
{
public int x;
};
class SomeVal
{
public int x;
}
static void Main(string[] args)
{
// Console.WriteLine("Hello World!");
SomeRef p1 = new SomeRef();
SomeVal p2 = new SomeVal();
p1.x = 3;
p2.x = 3;
Console.WriteLine("引用类型,p1=" + p1.x);
Console.WriteLine("值类型,p2=" + p2.x);
SomeRef p11 = p1;
SomeVal p22 = p2;
p1.x = 8;
p2.x = 7;
Console.WriteLine("引用类型,p1=" + p1.x);
Console.WriteLine("引用类型,p11=" + p11.x);
Console.WriteLine("值类型,p2=" + p2.x);
Console.WriteLine("值类型,p22=" + p22.x);
}
}
}
二.
using System;
namespace _004_如何理解csharp里面的作用域
{/// <summary>
/// 作用域:在c#语言里,变量的作用域是指可以访问这个变量的代码区域
/// 局部变量:某代码区域的局部
/// 全局变量:相对于某个区域都可以访问的变量
/// </summary>
class Program
{
static int a = 88;//类的全局变量
static void Main(string[] args)
{
// Console.WriteLine("Hello World!");
int a = 88;
for(int i=0;i<10;i++)
{
//....
}
Console.WriteLine(a);
Console.WriteLine(Program.a);//区别两个a
}
}
}
抓住第一周的尾巴!周日踩点结束扫盲,哈哈哈哈哈,期待下周!
标签:哈哈 区域 全局变量 summary ram value 访问 pac 第一周
原文地址:https://www.cnblogs.com/Nicela/p/13062120.html