C#中的概念理解
来源:互联网 发布:知乎怎样写文章 编辑:程序博客网 时间:2024/04/30 12:13
在C#中有很多和C语言,C++,Java相似之处,也有一些自己独有的特点,这些又是非常重要的地方,也是容易混淆的地方.主要有以下几点:
1)变量声明
C#中有8种基本数据类型,每种基本的数据类型都有默认值.
1)变量声明
C#中有8种基本数据类型,每种基本的数据类型都有默认值.
C#数据类型
大小
默认值
示例
int rating = 20;
byte gpa = 2;
short salary = 3400;
long population = 23451900;
bool IsManager = true;
string color = “Orange”
char gender = ‘M’;
在声明类成员变量时,不赋值时也可以使用,该变量的值就是他的默认值,但如果声明的是方法成员变量,则在使用前必须初始化.如下例子所示:class Class1
{
//此变量自动初始化0,可以直接使用
public int num;
public void Display()
{
//此变量在使用前必须先显示初始化
int n;
//如果是采用的下面这种方式声明的就会自动初始化为0
//int n=new int();
}
}
2)const与readonly
const声明的属性成员,在声明时必须初始化,默认为static,属于类所有,不能用对象来访问,在运行过程中只读.是编译时常量.
readonly声明的属性成员,可以在声明是不初始化,但必须在构造时初始化,本类的每个对象都有一份,在运行时只读,是运行时常量.
如下例:
class Class1
{
public const int num1=100;
//public readonly int num2=200;
//在声明时可以不用初始化,但在构造时要进行初始化.
public readonly int num2;
public Class1(int n)
{
num2=n;
}
const声明的属性成员,在声明时必须初始化,默认为static,属于类所有,不能用对象来访问,在运行过程中只读.是编译时常量.
readonly声明的属性成员,可以在声明是不初始化,但必须在构造时初始化,本类的每个对象都有一份,在运行时只读,是运行时常量.
如下例:
class Class1
{
public const int num1=100;
//public readonly int num2=200;
//在声明时可以不用初始化,但在构造时要进行初始化.
public readonly int num2;
public Class1(int n)
{
num2=n;
}
[STAThread]
static void Main(string[] args)
{
Class1 c=new Class1(300);
//只能通过类名来访问const字段
Console.WriteLine("const num1={0}",Class1.num1);
//通过对象名来访问readonly字段
Console.WriteLine("readonly num2={0}",c.num2);
}
}
static void Main(string[] args)
{
Class1 c=new Class1(300);
//只能通过类名来访问const字段
Console.WriteLine("const num1={0}",Class1.num1);
//通过对象名来访问readonly字段
Console.WriteLine("readonly num2={0}",c.num2);
}
}
- C#中的概念理解
- C#委托-概念理解
- C# 基础概念理解
- c#概念理解
- C#概念理解-收集
- C#中的集合概念
- C#中的几个概念
- C#中的OOP概念
- C#中的委托概念
- 理解MFC中的“资源”概念
- 理解MFC中的“资源”概念
- 理解MFC中的“资源”概念
- 理解MFC中的“资源”概念
- 银行业务中的常规概念理解
- 理解oc中的一些概念
- Python中的类概念理解
- 理解nodejs中的几个概念
- 理解CSS中的BFC概念
- VS2005(Visual Studio 2005)中命令窗口的使用
- hpdrv.exe
- Personal Fedora Core 6 Installation Guide
- myeclipse和struts2+spring+hibernate混合编程
- 对于常用分页功能的总结
- C#中的概念理解
- Personal Fedora 8 Installation Guide
- javascript中的String的函数replace()
- JBoss下的单点登陆(SSO)技术实现分析(1)
- hpgs2wnd.exe
- Debian下安装VMware Tools
- JBoss下的单点登陆(SSO)技术实现分析(2)
- JBoss下的单点登陆(SSO)技术实现分析(3)
- JBoss下的单点登陆(SSO)技术实现分析(5)